概要
GCR ( Google Container Registry ) にホストされている Image を Cloud Run にデプロイする。
自作コンテナは次回。
チュートリアル
Github Actions 用サービスアカウント作成
IAM -> サービスアカウントの作成より、以下の Role で作成。
- Cloud Run 管理者
- Cloud Run サービスエージェント
- ストレージ管理者
作成したサービスアカウントを選択 -> キー -> 鍵を追加 -> JSON を選択し、ダウンロードしておく。 後で使う。
Github リポジトリ作成
ローカルの作業スペース。
mkdir test_github_actions
Github にリポジトリを作成し、以下までやっておく。
echo "# cloudrun-github-actions" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/runble1/cloudrun-github-actions.git git push -u origin main
Github Actions 作成
GCP 公式 の Github Actions を参考にする。環境変数は 1 つ利用している。
- GCP_SA_KEY
Github Actions 用の yaml 作成。
mkdir .github mkdir .github/workflows vi .github/workflows/deploy.yml
main ブランチに push すると hello-cloud-run という名前の CloudRun がデプロイされる。
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Cloud Run
id: deploy
uses: google-github-actions/deploy-cloudrun@v0
with:
image: gcr.io/cloudrun/hello
service: hello-cloud-run
credentials: ${{ secrets.GCP_SA_KEY }}
- name: Show Output
run: echo ${{ steps.deploy.outputs.url }}
Github リモートリポジトリに Secrets 登録
GCP_SA_KEY
の Secrets を Github のリモートリポジトリに登録する。
- リポジトリの Setting
- 左サイドバー Secrets → Actions
- New repository secret
- Name に
GCP_SA_KEY
, Value に上でダウンロードしたサービスキーの Json
登録完了するとこんな感じ。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/2d3bb6fa-スクリーンショット-2022-03-20-9.08.19-1024x139.png)
デプロイ
git push する。
git add . git commit -m "Add github actions" git push
確認
Github 上で Github Actions のワークフローが成功したか確認
- Github のリモートリポジトリの Actions
- 「Add github actions」
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/fa69a79f-スクリーンショット-2022-03-20-9.15.29-1024x166.png)
GCP 上で CloudRun がデプロイされたことを確認。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/7ade093d-スクリーンショット-2022-03-20-9.16.54-1024x481.png)
まとめ
Github Actions を利用して Cloud Run をデプロイする体験を得た。
コードは Github に。
GitHub - runble1/cloudrun-github-actions
Contribute to runble1/cloudrun-github-actions development by creating an account on GitHub.
自作コンテナの場合はこちら。
![](https://runble1.com/wp-content/themes/cocoon-master/images/no-image-160.png)
Github Actions で自作コンテナを CloudRun にデプロイ
概要前回 GCR 上にホストされているイメージを CloudRun へデプロイした。今回は自作コンテナをデプロイする。チュートリアルGithub 用サービスアカウント作成ワークロード ID フェデレーションが推奨されているが、今回はサービス...
参考
GitHub - google-github-actions/deploy-cloudrun: A GitHub Action for deploying services to Google Cloud Run.
A GitHub Action for deploying services to Google Cloud Run. - google-github-actions/deploy-cloudrun
![](https://runble1.com/wp-content/uploads/cocoon-resources/blog-card-cache/0c748a43ca5061c83e17d005f17857b0.png)
Cloud RunとGitHub Actionsでコンテナアプリケーションのデプロイを自動化する
コメント