ビルドをスケジュールする

このページでは、Google Cloud コンソールを使用して、事前定義されたスケジュールでビルドを実行する方法について説明します。ビルドをスケジュールするには、手動トリガーを作成し、Cloud Scheduler を使用してトリガーを呼び出す必要があります。

始める前に

  • Cloud Build API を有効にします。

    API を有効にする

  • ソースコードを準備します。
  • まだ作成していない場合は、手動トリガーを作成します。 ビルドのスケジュールを設定できるのは、トリガーが手動トリガーである場合のみです。

ビルドのスケジュール設定

手動トリガーを作成したら、ビルドをスケジュールできます。

ビルドのスケジュールを設定するには:

  1. [トリガー] ページを開く

    [トリガー] ページを開く

  2. スケジュールに沿って実行する手動トリガーの名前を含む行を見つけます。

  3. トリガーを含む行の右端にあるメニュー(縦三点リーダー)をクリックします。

  4. [スケジュールで実行] をクリックして、ビルドのスケジュールを設定します。

    右側に [スケジュールでのトリガーの実行] パネルが表示されます。

  5. Cloud Scheduler API を有効にします。

    初めてビルドのスケジュールを設定する場合にのみ、Cloud Scheduler API を有効にするよう求めるプロンプトが表示されます。

  6. トリガーの呼び出し時に 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 時間かかります。

  7. [続行] をクリックします。

    リージョンを選択していない場合は、次の手順に進む前に Cloud Scheduler ジョブのリージョンを選択するよう求められることがあります。リージョンを選択すると、プロジェクト内に App Engine アプリケーションが自動的に作成されます。プロジェクトのリージョンを後で変更することはできません。詳しくは、サポート対象のリージョンをご覧ください。

  8. 次の Cloud Scheduler ジョブの設定を入力します。

    • 名前: Cloud Scheduler ジョブの名前。
    • 説明(省略可): Cloud Scheduler ジョブの説明。
    • 頻度: トリガーを実行する頻度を選択します。プルダウン メニューから頻度を選択するか、cron 構文を使用してカスタムの値を入力できます。たとえば、毎日午前 6 時に手動トリガーを実行する場合は、cron 構文で頻度を 0 6 * * * に指定できます。cron 構文の詳細については、cron ジョブ スケジュールの構成をご覧ください。
    • タイムゾーン: 使用するタイムゾーンを選択します。
  9. [作成] をクリックして、Cloud Scheduler ジョブを作成します。

    手動トリガーごとに複数のスケジュールされたジョブを作成できます。

  10. Cloud Scheduler ジョブを確認する場合は、[表示] をクリックします。それ以外の場合は、[完了] をクリックしてパネルを閉じます。

Cloud Scheduler ジョブの更新

手動トリガーの [Revision] フィールドを更新した場合は、トリガーに関連付けられている Cloud Scheduler ジョブを手動で更新する必要があります。たとえば、手動トリガーのブランチ名を更新する場合は、ジョブ内のブランチの名前を手動で更新する必要があります。

Cloud Scheduler ジョブを更新するには:

  1. [Cloud Scheduler] ページを開きます。

    [Cloud Scheduler] ページを開く

    Cloud Scheduler ジョブのリストが表示されます。

  2. (省略可)トリガーに関連付けられた Cloud Scheduler ジョブを特定します。

    1. 次のコマンドを実行してトリガー ID を取得します。ここで、TRIGGER_NAME はトリガーの名前です。

      gcloud builds triggers describe TRIGGER_NAME
      
    2. トリガー ID をメモしておきます。

    3. テーブルの上部にあるフィルタバーにトリガー ID を入力します。

    トリガーに関連付けられた Cloud Scheduler ジョブのリストが表示されます。

  3. 更新するジョブの名前を含む行をクリックします。

  4. ページ上部の [編集] をクリックします。

    Cloud Scheduler ジョブを更新するためのフォームが表示されます。

  5. [Body] フィールドでリビジョンを更新します。

  6. [更新] をクリックします。

これで、Cloud Scheduler ジョブのトリガーに関連付けられたリビジョンが更新されました。

Cloud Scheduler ジョブの削除

トリガーを削除または無効化しても、スケジュールの設定時に自動的に作成されたすべての Cloud Scheduler ジョブが、自動的に削除または無効化されることはありません。ジョブが存在し、ビルドを引き続き呼び出すことができます。

指定した時間にトリガーが実行されないようにするには、Cloud Scheduler ジョブを削除する必要があります。

次のステップ