例: ワークフローのトリガー
次の例は、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 つのワークフロー実行を開始します。
例えば、ソースリポジトリに main
、release-v1
、feature-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-
で始まるブランチごとに追加の実行を開始します。
例えば、ソースリポジトリに main
、release-v1
、bugfix-1
、bugfix-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
ブランチのソースコードを使用してワークフロー実行を開始します。