このページでは、Google Cloud コンソールを使用して、事前定義されたスケジュールでビルドを実行する方法について説明します。ビルドのスケジュールを設定するには、手動トリガーを作成してから、Cloud Scheduler を使用してトリガーを呼び出す必要があります。
始める前に
-
Enable the Cloud Build API.
- ソースコードを準備します。
- まだ作成していない場合は、手動トリガーを作成します。 ビルドのスケジュールを設定できるのは、トリガーが手動トリガーである場合のみです。
ビルドのスケジュール設定
手動トリガーを作成したら、ビルドのスケジュールを設定できます。
ビルドのスケジュールを設定するには:
[トリガー] ページを開く
スケジュールに沿って実行する手動トリガーの名前を含む行を見つけます。
トリガーを含む行の右端にあるメニュー(縦三点リーダー)をクリックします。
[スケジュールで実行] をクリックして、ビルドのスケジュールを設定します。
右側に [スケジュールでのトリガーの実行] パネルが表示されます。
Cloud Scheduler API を有効にします。
初めてビルドのスケジュールを設定する場合にのみ、Cloud Scheduler API を有効にするよう求めるプロンプトが表示されます。
トリガーの呼び出し時に Cloud Scheduler で使用するように設定するサービス アカウントを選択します。
デフォルトのスケジューリング サービス アカウントを選択することをおすすめします。サービス アカウントには次の形式があり、PROJECT_ID はプロジェクトのプロジェクト ID です。
cloud-build-trigger-scheduler@PROJECT_ID.iam.gserviceaccount.com
デフォルトのスケジューリング サービス アカウントを選択すると、Cloud Build Editorの IAM ロールが付与され、サービス アカウントが自動的に作成されます。このサービス アカウントは Cloud Scheduler でビルドのスケジュール設定に使用されるため、削除しないことをおすすめします。このサービス アカウントを誤って削除したり、IAM 権限を取り消したりした場合は、IAM ページに移動し、手動でサービス アカウントを追加して、アカウントに Cloud Build Editorのロールを付与できます。サービス アカウントを再作成した後に、既存の Cloud Scheduler ジョブが再開されるまでには、最大で 1 時間かかります。
[続行] をクリックします。
リージョンを選択していない場合は、次の手順に進む前に Cloud Scheduler ジョブのリージョンを選択するよう求められることがあります。リージョンを選択すると、プロジェクト内に App Engine アプリケーションが自動的に作成されます。プロジェクトのリージョンを後で変更することはできません。詳しくは、サポート対象のリージョンをご覧ください。
次の Cloud Scheduler ジョブの設定を入力します。
- 名前: Cloud Scheduler ジョブの名前。
- 説明(省略可): Cloud Scheduler ジョブの説明。
- 頻度: トリガーを実行する頻度を選択します。プルダウン メニューから頻度を選択するか、cron 構文を使用してカスタムの値を入力できます。たとえば、毎日午前 6 時に手動トリガーを実行する場合は、cron 構文で頻度を
0 6 * * *
に指定できます。cron 構文の詳細については、cron ジョブ スケジュールの構成をご覧ください。 - タイムゾーン: 使用するタイムゾーンを選択します。
[作成] をクリックして、Cloud Scheduler ジョブを作成します。
手動トリガーごとに複数のスケジュールされたジョブを作成できます。
Cloud Scheduler ジョブを確認する場合は、[表示] をクリックします。それ以外の場合は、[完了] をクリックしてパネルを閉じます。
Cloud Scheduler ジョブの更新
手動トリガーの [Revision] フィールドを更新した場合は、トリガーに関連付けられている Cloud Scheduler ジョブを手動で更新する必要があります。たとえば、手動トリガーのブランチ名を更新する場合は、ジョブ内のブランチの名前を手動で更新する必要があります。
Cloud Scheduler ジョブを更新するには:
[Cloud Scheduler] ページを開きます。
Cloud Scheduler ジョブのリストが表示されます。
(省略可)トリガーに関連付けられた Cloud Scheduler ジョブを特定します。
次のコマンドを実行してトリガー ID を取得します。ここで、TRIGGER_NAME はトリガーの名前です。
gcloud builds triggers describe TRIGGER_NAME
トリガー ID をメモします。
テーブルの上部にあるフィルタバーにトリガー ID を入力します。
トリガーに関連付けられた Cloud Scheduler ジョブのリストが表示されます。
更新するジョブの名前を含む行をクリックします。
ページ上部の [編集] をクリックします。
Cloud Scheduler ジョブを更新するためのフォームが表示されます。
[Body] フィールドでリビジョンを更新します。
[更新] をクリックします。
これで、Cloud Scheduler ジョブのトリガーに関連付けられたリビジョンが更新されました。
Cloud Scheduler ジョブの削除
トリガーを削除または無効化しても、スケジュールの設定時に自動的に作成されたすべての Cloud Scheduler ジョブが、自動的に削除または無効化されることはありません。ジョブが存在し、ビルドを引き続き呼び出すことができます。
指定した時間にトリガーが実行されないようにするには、Cloud Scheduler ジョブを削除する必要があります。
次のステップ
gcloud
コマンドまたは Cloud Build API を使用してビルドを手動で開始する方法を学習する。- トリガーを作成および管理する方法を学習する。
- ビルド結果を表示する方法を学習する。