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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Elastic BeanstalkでflaskアプリケーションデプロイのチュートリアルをCloud9で
Elastic Beanstalk への flask アプリケーションのデプロイ …
-
-
Amazon SageMakerプロジェクトを使用してMLパイプラインを構築
SageMakerプロジェクトの作成 SageMaker Studioの左ナビゲ …
-
-
Systems Manager パッチマネージャでベースラインを作成して適用する
ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …
-
-
EC2:RunInstances APIにリクエストしてEC2インスタンスを起動(署名バージョン4、Postman)
AWSのAPIリクエストってHTTPでもよかったですよね?って思って、確認のため …
-
-
AWS認定試験の自宅受験で壁のポスターを注意されちゃいました
AWS認定オンライン受験をしてみましたに書きましたとおり、自宅受験デビューしまし …
-
-
PyCharmにAWS Tool kitをインストールしてサンプルのLambda関数をデプロイして実行しました
この記事はJetBrainsIDE Advent Calendar 2018に参 …
-
-
AWS Systems Manager セッションマネージャを使用するために必要な設定
AWS Systems Manager セッションマネージャを使用するために必要 …
-
-
EC2インスタンスWindowsでセッションマネージャーを使う
WindowsのEC2インスタンスでセッションマネージャーを使ってみたことがない …
-
-
Amazon Linux2のCloud9でPython CDKのモジュールインストール
AMIがCloud9AmazonLinux2-2021-02-02T16-48の …
-
-
JAWS-UG 大阪 関西女子合同 Amazon Personalizeハンズオンやってみました
久しぶりに大阪でJAWS-UGに参加です。 Amazon Personalize …



















