AWS CodePipelineでサポートされているアクションタイプでAWS Step Functionsを指定できるようになりました。
これにより、リリースプロセスの一部として、条件付き分岐、エラー処理、および非同期タスクなどの複雑なワークフローを簡単に呼び出すことができるようになります。
AWS CodePipelineについて
素早く信頼性の高いアプリケーションとインフラストラクチャのアップデートのため、定義したリリースモデルに基づいて、リリースプロセスを自動化する完全マネージド型のサービス
実行するアクション
- パイプラインからAWS Step Functionsステートマシンを実行する
- アクション構成のプロパティ、または入力として渡されるパイプラインアーティファクトにあるファイルを介して、マシンを初期状態にする
- アクションから発生した実行を識別するための実行IDプレフィックスの設定(オプション)
- スタンダードおよびエクスプレスステートマシンのサポート
AWS Step Functionsについて
複数のAWSのサービスをサーバーレスワークフローに統合するため自動プロセスを迅速に構築および更新する
アクションタイプ
- カテゴリー : Invoke
- オーナー : AWS
- プロバイダー : StepFunctions
- バージョン : 1
詳しくは AWS Step Functions
利用方法
パイプラインを作成または選択する
以下のいずれかの方法でパイプラインを作成します
チュートリアル: シンプルなパイプラインを作成する (S3 バケットの場合) チュートリアル: シンプルなパイプラインを作成する (CodeCommit リポジトリの場合)
サンプルステートマシンを作成する
Step Functionsコンソールで、HelloWorldサンプルテンプレートを使用してステートマシンを作成します。以下は例です。
{ "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "Result": "Hello", "Next": "World" }, "World": { "Type": "Pass", "Result": "World", "End": true } } }
パイプラインにステップ関数呼び出しアクションを追加する
AWSマネジメントコンソールにサインインし、CodePipelineコンソールを開きます。
編集するパイプラインを選択し、パイプラインの詳細ページで、[Edit]を選択します。
シンプルパイプラインの第2ステージで、[Edit stage]を選択します。[Delete]を選択します。 不要になった第2ステージが削除されます。
[+ Add stage]を選択し[Stage name]にステージの名前を入力し、[Add stage]を選択します。
[+ Add action group]を選択し、[Action name]に、Invokeなどの名前を入力します。
[Action provider]で、[AWS Step Functions]を選択します。リージョンがデフォルトでパイプラインリージョンになるようにします。
[Input artifacts]で、[SourceArtifact]を選択します。
ステートマシンARNで、以前に作成したステートマシンのAmazonリソースネーム(ARN)を選択します。
[入力タイプ]で、[リテラル]を選択し、JSONを作成します
{"IsHelloWorldExample": true}
編集しているステージで、[Done]を選択します。 AWS CodePipelineペインで、[Save]を選択し、警告メッセージで[Save]を選択します。
完成したパイプラインで、invokeアクションで[AWS Step Functions]を選択します。 AWS Step Functionsコンソールで、ステートマシン実行IDを表示します。
まとめ
今回のアップデートで上記のサービスが統合されたことにより、シンプルなリリースパイプラインを維持し、複雑なワークフローの動作をStep Functionsステートマシンエンジンに委任できるようになります。