ヤマムギ

growing hard days.

*

AWS CodPipelineの実行モードの動作確認しました

   

AWS CodePipelineの3つの実行モード(SUPERSEDED(優先済み)、QUEUED(キュー)、PARALLEL(並行))の動作を確認してみました。

パイプラインの準備

ソースはGitHubでReadmeだけのリポジトリを用意しました。
コミットメッセージに、「実行1」「実行2」「実行3」を作っておきました。

ソースステージと承認ステージだけのパイプラインにしました。

SUPERSEDED(優先済み)モード

デフォルトです。
SUPERSEDEDは翻訳すると「置き換えられました」という意味でした。

SUPERSEDED(優先済み)モードでは、ステージが実行中の間はステージにロックがかかって、次の実行が待たされます。
待たされている間にさらに次の実行が追いつくと、そこまで待たされていた実行が置き換えられます。
この動作を確認してみました。

GitHubのコミットIDを指定して、「実行1」のコミットメッセージのコミットが実行されるようにしました。
その後、続いて「実行2」も実行しました。

承認ステージが「実行1」の承認待ちでロックされています。
「実行2」が承認ステージに入れずに、ソースステージと承認ステージの間で止まっています。

ステージ間の数字1をクリックすると、「実行2」が待たされていることを確認できます。

続いて「実行3」を実行しました。
「実行2」がなくなって「実行3」が待ちになりました。

実行一覧を見ると「実行2」は「代入されました」と表示されていました。

「実行1」を承認した後に、承認ステージに入ってきた「実行3」を実行しました。
「実行2」だけがなくなって順次実行される結果となりました。

QUEUED(キュー)モード

V2から追加されたQUEUED(キュー)モードです。

「実行1」「実行2」「実行3」の順で実行すると、承認ステージが「実行1」でロックされて「実行2」「実行3」が両方待たされています。
置き換えはされません。

すべての実行が進行中です。

承認していくと、順次完了しました。
すべて実行したい場合はQUEUED(キュー)モードですね。

PARALLEL(並行)モード

こちらもV2から追加されたPARALLEL(並行)モードです。
同じように「実行1」「実行2」「実行3」の順で実行しました。

パイプラインの実行確認画面では「実行しませんでした」表示になっています。
おそらくはPARALLEL モードでは複数の実行が同時に進行するため、単一のパイプライン表示では表現が困難なためと考えられます。

実行一覧を見ると進行中になっています。

実行一覧から実行IDをクリックすると、個別に確認できます。

「実行3」だけを承認してみました。
PARALLEL(並行)モードでは、それぞれがお互いに関係なく実行されるので、開始した順番は関係なく実行できました。

ユーザーガイドにも同じことが解説されています。
読んで理解した内容があっているか、誤解してないかを動かしてみて確認できました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

ある意味マネジメントコンソールで生成された署名付きURL

マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …

S3署名付きURL(GetObject)生成後にオブジェクトを上書きアップロードしたら

ダウンロードリクエストを実行したタイミングのオブジェクトがダウンロードされるので …

Lambdaバージョンとエイリアスとトリガー

Lambdaのバージョン、エイリアスにはそれぞれ別のトリガーが設定できます。 上 …

DynamoDB Accelerator(DAX)のサンプルアプリケーション(Python)を実行

DynamoDBデベロッパーガイドのDynamoDB Accelerator(D …

ちょっとしたCLI作業にEC2起動テンプレート

CLIでちょっとした作業したいだけのときに、Cloud9を使うまでもないなあと思 …

AWSアカウントrootユーザーのメールアドレスを変更

昔、うっかり会社の個人メールアドレスで作ってしまったAWSアカウントがあるのでメ …

EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す

当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引 …

AWS CDK とにかくサンプルでやってみる

Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する

本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …