Google Cloud Container Builderの設定
次にGoogle Cloud Container Builderの設定をしていきます。Google Cloud Container Builderでは専用のサービスアカウントを持っています。今回はkubectlを実行する権限が欲しいため、サービスアカウントに権限を付与する手順から行います。
サービスアカウントの設定
サービスカウントの設定についてはこちらの公式ドキュメントを参考にしてください。具体的には、サービスアカウントに対してKubernetes EngineのKubernetes Engine Developerの権限を付与する必要があります。
トリガーの作成
次にGoogle Cloud Platformのコンソール画面からトリガーの作成を行います。下図を参考に[Container Registry]の[トリガーを作成]をクリックしてください。
トリガーの作成をクリックしたら次はソースを選択します。選択できるレポジトリは「Cloud Source Repository」「GitHub」「Bitbucket」です。今回はGitHubの手順を説明します。GitHubを選択したら[続行]をクリックしてください。
続行をクリックするとAuthorize Google Cloud Platformの画面が表示されます。[Authorize Google Cloud Platform]をクリックしてください。
認証が終わったら次はレポジトリを選択します。対象にしたいレポジトリを選択したら[続行]を押してください。
トリガー設定とビルドの設定
次にトリガーの設定とビルドの設定を行います。ビルドの設定では先ほど作成したcloudbuild.yamlを指定します。
トリガーの名前はどんな名前でも構いません。トリガーのタイプはタグにしてください。
これでセットアップが完了しました。
動作確認
それでは、実際にアプリケーションのGitレポジトリにタグをプッシュして動作確認をしてみましょう。トリガーの設定がうまくいっていれば、下図のビルドが開始されたことが確認できるはずです。
ビルドが成功していれば、緑色になっていることが確認できると思います。赤だった場合はビルドに失敗しています。その場合はビルド番号をクリックしてビルドの詳細からログを確認してみましょう。
ビルドが成功した場合は、第3回の記事と同じくcrulコマンドでアプリケーションのURLにアクセスできるはずです。
$curl --resolve dev.app.io:80:{ingress-ip} http://dev.app.io/versions/{アプリケーションのバージョン}/
最後に
これで、Google Cloud Container Builderを使った継続的インテグレーションの仕組みが完成しました。最初の構築こそ大変ですが、一度構築してしまえばアプリケーションの開発効率が上がります。ぜひ試してみてください。