[アップデート]CodePipelineからStep Functionsの呼び出しが可能になりました
CodePipelineのアクションプロバイダーでStep Functionsの指定が可能になりました。
こちらのアップデートにより、リリースプロセスの一部として、条件分岐、エラー処理などを含む複雑なワークフローを呼び出すことが可能になりした。以下のようにパイプライン内でStep Functionsの呼び出しができる感じです。
今回は以下チュートリアルをベースに、動作を確認してみたいと思います。
前提
CodePipelineが作成済みであることを前提としています。前提環境となるCFnテンプレートを作成しましたので、ここではこちらを利用しています。
冒頭に記載したチュートリアルの前提条件を、CFnテンプレートにした感じです。
やってみた
ステートマシン作成
CodePipelineから呼び出しされるステートマシンを作成します。 今回はチュートリアルに沿い、ステートマシンが呼び出しされることの確認となりますので、とくに処理は設けず以下定義となります。
{ "StartAt": "Hello World", "States": { "Hello World": { "Type": "Pass", "Result": "Hello World", "End": true } } }
ステートマシンの構築については、以下を参考にしてください。
CodePipelineステージ追加
パイプラインが作成済みであることを前提にしていますので、ステージを追加します。該当パイプラインにて「ステージを追加する」をクリックします。
任意のステージ名を入力し、ステージを追加します。
作成したステージにアクショングループを追加します。
任意のアクション名を指定し、以下設定で定義しました。
- アクションプロバイダー…AWS Step Functions
- State machine ARN…前項で作成したステートマシン「Helloworld」を選択
- Input…
{"IsHelloWorldExample": true}
ステートマシンの呼び出し(Invokeステージ)を含むパイプラインが作成されました。変更をリリースしてステートマシンが実行されるか確認してみたいと思います。
変更リリース後、しばらくするとパイプラインが正常終了しました。
Step Functionsのコンソールより、呼び出しされたステートマシンが正常終了していることが確認できました。
パイプラインで指定したINPUTが、ステートマシンに渡されていることも確認できました。
さいごに
今回はチュートリアルの実施となりましたが、以下記事のようなテスト結果に応じて処理を分岐するようなリリースプロセスも可能となります。
CodePipelineからStep Functionsの呼び出しができることで、さまざまなユースケースに対応できるリリースプロセスが構築できそうですね!