CodePipelineが新しいタイプでのStep Functionsの呼び出しをサポート

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 } } }

パイプラインにステップ関数呼び出しアクションを追加する

  1. AWSマネジメントコンソールにサインインし、CodePipelineコンソールを開きます。

  2. 編集するパイプラインを選択し、パイプラインの詳細ページで、[Edit]を選択します。

  3. シンプルパイプラインの第2ステージで、[Edit stage]を選択します。[Delete]を選択します。
    不要になった第2ステージが削除されます。

  4. [+ Add stage]を選択し[Stage name]にステージの名前を入力し、[Add stage]を選択します。

  5. [+ Add action group]を選択し、[Action name]に、Invokeなどの名前を入力します。

  6. [Action provider]で、[AWS Step Functions]を選択します。リージョンがデフォルトでパイプラインリージョンになるようにします。

  7. [Input artifacts]で、[SourceArtifact]を選択します。

  8. ステートマシンARNで、以前に作成したステートマシンのAmazonリソースネーム(ARN)を選択します。

  9. [入力タイプ]で、[リテラル]を選択し、JSONを作成します

{"IsHelloWorldExample": true}
  1. 編集しているステージで、[Done]を選択します。
    AWS CodePipelineペインで、[Save]を選択し、警告メッセージで[Save]を選択します。

  2. 完成したパイプラインで、invokeアクションで[AWS Step Functions]を選択します。
    AWS Step Functionsコンソールで、ステートマシン実行IDを表示します。

まとめ

今回のアップデートで上記のサービスが統合されたことにより、シンプルなリリースパイプラインを維持し、複雑なワークフローの動作をStep Functionsステートマシンエンジンに委任できるようになります。