Skip to content
Latchkey

Google Cloud Build とは?GCP ネイティブの CI/CD

Google Cloud Build は GCP のマネージド build サービスです。パイプラインのステップをコンテナとして実行し、artifact やイメージを生成して GCP 内でデプロイします。

Cloud Build は Google ネイティブの CI/CD runner です。一連のステップ(それぞれコマンドを実行するコンテナ)を記述すると、Cloud Build が Google 管理の compute 上で実行します。イメージを build して Artifact Registry へプッシュし、Cloud Run や GKE へデプロイする用途でよく使われ、すべてがネイティブ IAM とともに GCP 内で完結します。

コンテナとしてのステップ

Cloud Build の config はステップを列挙し、各ステップはコンテナイメージと実行する args を指定します。ステップは workspace を共有するため、あるステップがコードを取得し、次が build し、後のステップがプッシュやデプロイを行えます。コンテナに入れられるものは何でも build ステップにできます。

トリガー

  • GitHub、GitLab、Cloud Source からの push や pull-request イベント。
  • 手動または定期的な実行。
  • 他システムからの API 呼び出し。

GCP とのネイティブ統合

GCP 内で実行されるため、Cloud Build は IAM 権限を持つ service account として認証します。したがって Artifact Registry へのプッシュや Cloud Run へのデプロイに追加の認証情報は不要です。この密な統合が、外部 CI に対する主な魅力です。

Cloud Build vs GitHub Actions

Cloud Build は GCP 中心で、世界がすべて GCP のときに最適です。GitHub Actions はコードとエコシステムの隣にあります。多くのチームは CI を GitHub Actions に置き、GCP ネイティブな特定の build にだけ Cloud Build を呼ぶか、まったく使わずに federation 経由で Actions から GCP へデプロイします。

CI/CD での役割

GCP ファーストの構成では、Cloud Build がパイプライン全体になります。イメージの build、テストの実行、Artifact Registry へのプッシュ、Cloud Run へのデプロイです。GitHub Actions ファーストの構成では、特定のステップだけ Cloud Build をトリガーするか、それを迂回して Actions workflow から gcloud CLI を使います。

重要なポイント

  • Cloud Build は各パイプラインステップを Google 管理の compute 上でコンテナとして実行します。
  • ネイティブ IAM 統合により、GCP 内でのプッシュやデプロイに追加の認証情報が不要です。
  • チームは CI を GitHub Actions に置き、代わりに federation で GCP へデプロイすることがよくあります。

関連ガイド