GAEにサークル(?)のWordPressを移行した際にGitLab-CIを使用して自動デプロイ出来る様にした。
自動デプロイ自体は簡単なので、記事はあるっぽいがcloud-sdk-dockerを使った書き方をしてる人があんまり居ない様なので書いておく。
GitLabCIからGCPへ接続する為の認証関連は分かりやすく既に記事として書かれており、
今回はotuhs_dさんの「GitLab CIでGoogle App Engineプロジェクトを自動デプロイ」の通りにGitLabへ設定した。分かりやすい。
本題の.gitlab-ci.ymlの設定だが下記の通りに設定。
.gitlab-ci.yml
image: google/cloud-sdk:latest
deploy_production:
stage: deploy
environment: Production
only:
- master
script:
- echo $DEPLOY_KEY_FILE_PRODUCTION > /tmp/$CI_PIPELINE_ID.json
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud --quiet --project $PROJECT_ID_PRODUCTION app deploy
ちょっとシンプルに書ける。
公式の方のGitLabを使用していれば公式がDigitalOceanで動かしている共有ランナーで後はプッシュするだけでデプロイする事が出来る。(プライベートリポジトリだと月2000回まで)
今度はGKEの方の連携も試してみたいので近いうちにやろう。