Cloud Build の追加機能を試してみました :)
注意点
この記事は下記の記事のアーカイブです ;)
https://iganari.hatenablog.com/entry/2021/02/15/234246
概要
Cloud Build の Trigger を指定した時間に実行する機能が追加実装されました。
その機能をさっそく使ってみようと思います :)
なお、 2021 年 2 月の時点では Preview
となっています。
Cloud Build とは
GCP のフルマネージドの CI/CD 基盤であり、昨今の DevOps には欠かせない機能の一つです。
今回の追加機能について
今までは Cloud Build を実行するトリガーは、連携している Repository に対してのイベントをフックするか、 API 的に外部から実行するしかありませんでした。
新しい追加機能は Cloud Build から Cloud Scheduler を直接設定することが出来るようになりました。
つまり…
今まで、 Cloud Build を定期実行させたい場合は自分で以下の構成をする必要がありました。
Cloud Scheduler
->Cloud Pub/Sub
->Cloud Functions
->Cloud Build

今回の追加機能では以下のよう(※ ユーザが実装する部分という意味で)になります。
Cloud Scheduler
->Cloud Build

意識して管理するコンポーネントが減るので運用負荷が減り、サービス開発においても出来ることが増えるので、早めに習得しておきましょう :)
公式ドキュメント
Creating manual triggers | Scheduling your build
実際にやってみる
Cloud Build Trigger を作成
GCP コンソールより、 Cloud Build
をクリック

Cloud Build の API を有効化する(初回のみ)

Cloud Build の画面( History )

Cloud Build の画面( Triggers ) に移動し、 CREATE TRIGGER
をクリック

テスト的に Trigger を作成する
- Name :
run-schedule-test
を記入 - Event:
Manual invocation
を選択 - Source:
cloudbuild.yaml が入っている リポジトリ
- サンプルとして下記のソースコードを使用しています
- GitHub: package-gcp/builds/sample
他の設定はデフォルトのままで。
設定を入れたら CREATE
をクリック

Cloud Build Trigger の作成が完了したので RUN
をクリック

main ブランチを選択し、 Trigger を実行

History
をクリックし、実際の実行結果を確認するために実行中の Build をクリック

Build の内容を確認し、正常に実行出来ているかを確認する

作成した Cloud Build Trigger を定期実行するように設定する
Cloud Scheduler の API を有効化する
下記の URL を別タブで開き、 Cloud Scheduler の API を有効化する
https://console.cloud.google.com/marketplace/product/google/cloudscheduler.googleapis.com

作成した Trigger のケバブメニュー(縦に3つの点があるボタン)をクリック

Run on schedule
をクリック

Cloud Scheduler で使用する Service Account を選択し、 CONTINUE
をクリック
デフォルトで選択されているものを使用する

Cloud Scheduler を実行するリージョンを選択するために、 SET REGION
をクリック

Cloud Scheduler を実行するリージョンを選択する
asia-northeast1
を選択

Cloud Scheduler の設定をする
- Name :
Cloud Scheduler の Job 名
- Frequency:
繰り返しの設定
- TimeZone:
繰り返しの設定のタイムゾーン
今回は 5 分毎に実行するように設定する

作成完了

History をクリックし、定期実行されるのを待つ

1 時間くらい待った結果、ちゃんと 5 分毎に実行されているのが分かる

まとめ
今回は Cloud Build の追加機能を試してみました。
サービス開発がより効率的に出来るようになるので、 GA (General Availability) が楽しみですね!!
なお繰り返しになりますが、この記事を書いている時点ではこの追加機能は Preview なので、ご利用は自己責任かつ計画的にお願いします。
Have fun !! :)