例: ワークフローのトリガー - Amazon CodeCatalyst

例: ワークフローのトリガー

次の例は、Amazon CodeCatalyst ワークフロー定義ファイルにさまざまなタイプのトリガーを追加する方法を示したものです。

トリガーについての詳細は、「トリガーを使用したワークフロー実行の自動的な開始」を参照してください。

例: シンプルなコードプッシュトリガー

次の例は、ソースリポジトリ内のいずれかのブランチにコードがプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst ではプッシュのブランチ (つまり、送信先ブランチ) 内のファイルを使用してワークフロー実行を開始します。

例えば、コミットを main にプッシュすると、CodeCatalyst では main のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

別の例として、コミットを feature-branch-123 にプッシュすると、CodeCatalyst では feature-branch-123 のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

Triggers: - Type: PUSH
注記

main にプッシュした場合にのみワークフロー実行を開始する場合は、「例: シンプルな「メインへのプッシュ」トリガー」を参照してください。

例: シンプルな「メインへのプッシュ」トリガー

次の例は、ソースリポジトリ内の main ブランチ (および main ブランチのみ) にコードがプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

Triggers: - Type: PUSH Branches: - main

例: シンプルなプルリクエストトリガー

次の例は、ソースリポジトリ内でプルリクエストが作成または改訂されるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst ではプルのブランチ (つまり、ソースブランチ) 内のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

例えば、feature-123 というソースブランチと main という宛先ブランチを使用してプルリクエストを作成すると、CodeCatalyst では feature-123 のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

Triggers: - Type: PULLREQUEST Events: - OPEN - REVISION

例: シンプルなスケジュールトリガー

次の例は、毎週月曜日から金曜日の午前 0 時 (UTC+0) にワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では、このトリガーがあるワークフロー定義ファイルを含むソースリポジトリ内のブランチごとに 1 つのワークフロー実行を開始します。

例えば、ソースリポジトリに mainrelease-v1feature-123 という 3 つのブランチがあり、後続トリガーがあるワークフロー定義ファイルがこれらの各ブランチに含まれている場合、CodeCatalyst では 3 つのワークフロー実行を開始します。1 つ目のワークフロー実行では main のファイル、2 つ目のワークフロー実行では release-v1 のファイル、3 つ目のワークフロー実行では feature-123 のファイルを使用します。

Triggers: - Type: SCHEDULE Expression: "0 0 ? * MON-FRI *"

Expression プロパティで使用できる cron 式のその他の例については、「Expression」を参照してください。

例: スケジュールとブランチを含むトリガー

次の例は、毎日午後 6 時 15 分 (UTC+0) にワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では main ブランチ内のファイルを使用してワークフロー実行を開始し、release- で始まるブランチごとに追加の実行を開始します。

例えば、ソースリポジトリに mainrelease-v1bugfix-1bugfix-2 という名前のブランチがある場合、CodeCatalyst では 2 つのワークフロー実行を開始します。1 つ目のワークフロー実行では main のファイル、2 つ目のワークフロー実行では release-v1 のファイルを使用します。bugfix-1 ブランチと bugfix-1 ブランチのワークフロー実行は開始されません

Triggers: - Type: SCHEDULE Expression: "15 18 * * ? *" Branches: - main - release\-.*

Expression プロパティで使用できる cron 式のその他の例については、「Expression」を参照してください。

例: スケジュール、プッシュ、ブランチを含むトリガー

次の例は、毎日午前 0 時 (UTC+0) に、コードが main ブランチにプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

この例では、以下のようになっています。

  • ワークフロー実行は毎日午前 0 時に開始されます。ワークフロー実行では、main ブランチ内のワークフロー定義ファイルとその他のソースファイルを使用します。

  • コミットを main ブランチにプッシュするたびにもワークフロー実行が開始されます。ワークフロー実行では、宛先ブランチ (main) 内のワークフロー定義ファイルとその他のソースファイルを使用します。

Triggers: - Type: SCHEDULE Expression: "0 0 * * ? *" Branches: - main - Type: PUSH Branches: - main

Expression プロパティで使用できる cron 式のその他の例については、「Expression」を参照してください。

例: プルとブランチを含むトリガー

次の例は、誰かが main という宛先ブランチでプルリクエストを開いたり変更したりするたびにワークフロー実行を開始するトリガーを示したものです。Triggers 構成で指定されているブランチは main ですが、ワークフロー実行では、ソースブランチ (プルのブランチ) 内のワークフロー定義ファイルとその他のソースファイルが使用されます。

Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION

例: プル、ブランチ、および「CLOSED」イベントを含むトリガー

次の例は、main で始まるブランチでプルリクエストを閉じるたびにワークフロー実行を開始するトリガーを示したものです。

この例では、以下のようになっています。

  • main で始まる宛先ブランチでプルリクエストを閉じると、(閉じたばかりの) ソースブランチのワークフロー定義ファイルとその他のソースファイルを使用して、ワークフロー実行が自動的に開始されます。

  • プルリクエストがマージされた後にブランチを自動的に削除するようにソースリポジトリを構成している場合、これらのブランチが CLOSED 状態になることはありません。つまり、マージされたブランチはプルリクエスト CLOSED トリガーをアクティブ化しません。このシナリオで CLOSED トリガーをアクティブ化する唯一の方法は、プルリクエストをマージせずに閉じることです。

Triggers: - Type: PULLREQUEST Branches: - main.* Events: - CLOSED

例: プッシュ、ブランチ、ファイルを含むトリガー

次の例は、main ブランチの filename.txt ファイルまたは src ディレクトリ内のファイルに変更が加えられるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では main ブランチのワークフロー定義ファイルとその他のソースファイルを使用してワークフロー実行を開始します。

Triggers: - Type: PUSH Branches: - main FilesChanged: - filename.txt - src\/.*

例: 手動トリガー

手動トリガーを構成するには、ワークフロー定義ファイルから Triggers セクションを省略します。このセクションがない場合、ユーザーは CodeCatalyst コンソールで [実行] ボタンを選択してワークフローを手動で開始する必要があります。詳細については、「手動でのワークフロー実行の開始」を参照してください。

例: CI/CD マルチワークフロー設定のトリガー

この例では、継続的インテグレーション (CI) と継続的デプロイ (CD) でそれぞれ別の Amazon CodeCatalyst ワークフローを使用する場合にトリガーを設定する方法について説明します。

このシナリオでは、次の 2 つのワークフローを設定します。

  • CI ワークフロー – このワークフローでは、プルリクエストが作成または改訂されたときにアプリケーションをビルドしてテストします。

  • CD ワークフロー – このワークフローでは、プルリクエストがマージされたときにアプリケーションをビルドしてデプロイします。

CI ワークフローの定義ファイルの内容は次のようになります。

Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION Actions: BuildAction: instructions-for-building-the-app TestAction: instructions-for-test-the-app

Triggers コードは、フィーチャーブランチを main ブランチにマージするように求めるプルリクエストをソフトウェアデベロッパーが作成 (または変更) するたびに、ワークフロー実行を自動的に開始することを示しています。CodeCatalyst では、ソースブランチ (フィーチャーブランチ) のソースコードを使用してワークフロー実行を開始します。

CD ワークフローの定義ファイルの内容は次のようになります。

Triggers: - Type: PUSH Branches: - main Actions: BuildAction: instructions-for-building-the-app DeployAction: instructions-for-deploying-the-app

Triggers コードは、main へのマージが発生したときにワークフローを自動的に開始することを示しています。CodeCatalyst では、main ブランチのソースコードを使用してワークフロー実行を開始します。