Cloud Build

ビルド構成

https://cloud.google.com/cloud-build/docs/build-config

  • docker build -> Dockerfile
  • その他の処理 -> ビルド構成ファイル(YAML or JSON)

ビルド構成ファイル

https://cloud.google.com/cloud-build/docs/build-config?hl=ja#structure_of_a_build_config_file

ビルドステップ

https://cloud.google.com/cloud-build/docs/build-config?hl=ja#build_steps

  • name … クラウドビルダーを指定する
  • args … 引数リスト
  • entrypoint … ビルダーのデフォルトのエントリーポイント(実行コマンド)を上書き可能

ビルドトリガーによるビルドの自動化

ドキュメント:

MEMO:

  • GCSR, GitHub or Bitbucketにソースコードが必要
    • Bitbucketの場合GCSRにミラーリングするか、コンソールからリポジトリ登録時に認証を行う

トリガー設定

項目必須?説明
SourceYesリポジトリとブランチ/タグを選ぶ
Included filesNo設定されていると、ビルドをトリガーするには最低でもここに含まれるいずれかのファイルの変更が必要
Ignored filesNo設定されたファイルリストのみの変更はビルドをトリガーしない

Included files / Ignored filesについて:

  • あるファイルを両方に指定したら、そのファイルへの変更はビルドをトリガーしない
  • 新規ブランチをpushした場合、全ファイルが変更されたとみなされる

ビルド通知の送信

https://cloud.google.com/cloud-build/docs/send-build-notifications

Cloud Buildでは、ビルドの作成時・動作状態への移行時・完了時などビルド状態の変化時にCloud Pub/Subトピック cloud-builds にメッセージを公開する。

他のツール:

権限管理

サービスアカウントで設定する。

ドキュメント:

How-to

ビルド通知をSlackに送信

ドキュメント:

上のようにCloud Functionを書けばよい。

参考: