Member-only story
Github Actions -GCP Cloud Runにコードを送る方法
本番環境へのコードのデプロイは、時間がかかる上にデリケートなプロセスです。うまくいかないとサービスがダウンしてしまい、最終的にはユーザーを傷つけ、コストがかかることになりかねません。
もちろん、解決策は可能な限り自動化することです。
参考: このブログ記事を読むにはnode.js/dockerの基本的な知識、コードのデプロイとサービスアカウントの作成権限を持つGCPアカウント、githubアカウントがあることが前提となっています。
What is GCP Cloud run?
マネージドサービスの名のもとに、Google CloudではCloud Runと呼ばれるサービスが利用可能です。
Cloud Run は完全なマネージドコンピュート プラットフォームで、ステートレス コンテナを自動的にスケーリングします。
ここから何が分かるでしょうか?
- Cloud runはマネージドサービスである
- Cloud run はコンテナの実行のためのものである
- 自動的にスケーリングしてくれる
- ステートレスなサービスのために設計されたものである
そのため、基本的にコンテナの実行が必要な人は、cloud runを利用するといいでしょう。
We want to run containers!
私たちはコンテナを実行したいんです!
コードをコンテナの中でラップしたり、例えばdockerでラップし、GCPのコンテナレジストリ(または別のレジストリ)にプッシュして、gcloud cliツールを使ってcloud runにデプロイしたり、gcpコンソールのウェブサイトからアップデートを行ったりすることができます。
しかし、それは反復的なプロセスであり、ヒューマンエラーが発生しやすく、時間を消費します。自動化のための素晴らしい選択肢ではあります。
市場には多くのCI/CDツールがありますが、この記事ではGithub Actionsのような新しいツールに焦点を当ててみたいと思います。
What are Github Actions?
GitHub Actionsを使えば、すべてのソフトウェアワークフローを簡単に自動化することができます。GitHubからコードをビルド、テスト、デプロイすることができます。
Github Actionsではプロセスを自動化する機能が利用できるので、やりたいことをプログラムすることができ、必要なときに同じことを繰り返すことができます。