Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【若手エンジニア応援LT会】CodePipelineのV1とV2の違いを調べてみた件

Kazushi
November 04, 2024
220

 【若手エンジニア応援LT会】CodePipelineのV1とV2の違いを調べてみた件

Kazushi

November 04, 2024
Tweet

Transcript

  1. 自己紹介 • 島村 一歩(しまむら いっぽ) • 某金融中心SIer • インフラ設計・開発・運用保守を担当 •

    好きなAWSサービス • ROSA, CodePipeline • ひとこと • Jr.Champion目指して頑張ります!
  2. Source CodeBuild S3 Deploy CodePipeline V2 S3 Approval(手動承認) Build Deploy

    version: 0.2 phases: build: commands: - echo "Hello, CodeBuild!“ - echo “test" Buildspec test.txtファイルが S3に出力
  3. Source CodeBuild S3 Deploy CodePipeline S3 Approval(手動承認) Build Deploy version:

    0.2 phases: build: commands: - echo "Hello, CodeBuild!“ - echo “test" Buildspec test.txtファイルが S3に出力 パイプライン変数:jrchampion 指定した変数が使えるように BuildとDeployステージの 変更が必要
  4. 新機能2 実行モードの追加 • 2024年2月にリリース • Pipeline実行モード 2種類追加 1. SUPERSEDED(デフォルト) ←V1はこのモードのみ

    2. QUEUE 3. PARALLEL • QUEUEモード • キューに入れられた順序で1つずつ処理が実行 • PARALLELモード • 他の実行の完了を待たずに開始または終了 個人的に 一番うれしい
  5. Source CodeBuild S3 Deploy CodePipeline S3 Approval(手動承認) Build Deploy パイプライン変数:test1

    実行モード:SUPERSEDED パイプライン変数:test 「test2」 パイプラインを実行 パイプライン変数:test2 を入力 承認せずに、放置 「test」がいるため 実行待機
  6. Source CodeBuild S3 Deploy CodePipeline S3 Approval(手動承認) Build Deploy パイプライン変数:test2

    実行モード:SUPERSEDED パイプライン変数:test 変数「test1」 パイプラインが消える、、 パイプライン変数:
  7. 新機能3 ステージ条件 • 2024年8月にリリース • Pipelineのステージごとに以下条件が設定可能に! 1. 入力条件:ステージ開始前にチェック 2. 成功条件:ステージ終了後、アクション成功時にチェック

    3. 終了条件:ステージ終了後、アクション失敗時にチェック • ステージ条件を活用することで、デプロイ開始しないような 条件設定が可能に • CWアラームでワークロードの状態を定義 • デプロイできる時間を事前に定義 成功条件 使ってみた!
  8. Source CodeBuild S3 Deploy CodePipeline S3 Approval(手動承認) Build Deploy 実行モード:SUPERSEDED、QUEUE、PARALLEL

    今回は、 デプロイ可能な時間を指定 Ex. 月~木の9:00~17:00など パイプライン変数: 成功条件
  9. 参考文献 • AWS CodePipeline のパイプラインタイプ v2 #Git – Qiita •

    CodePipeline V2のQUEUEモードをCDKで作って検証してみた • AWS CodePipeline でパラメータ化されたパイプラインのサポートを開始 • CodePipeline にやってきたV2 のアップデートをさらいつつ試してみた - 継続は力なり • AWS CodePipeline V2のアップデート内容をまとめて紹介 - WOR(L)D ワード|大和総研の用語解説サイト • AWS CodePipeline が、パイプラインゲートを実装するためのステージレベルの条件を導入 – AWS • 最近よく見るCodePipeline V2とV1との違いを今こそ理解したい #AWS – Qiita • How pipeline executions work - AWS CodePipeline • CodePipelineのパイプラインタイプ(V1/V2)を比較してみた | DevelopersIO • チュートリアル: パイプラインレベルの変数を使用する - AWS CodePipeline • [アップデート] CodePipeline でステージ条件を設定できるようになりました | DevelopersIO • AWS CodePipeline が、パイプラインゲートを実装するためのステージレベルの条件を導入 – AWS • aws-cdk-lib.aws_codepipeline module · AWS CDK
  10. 新機能1 パイプラインレベル変数 Buildステージ変数利用 名前(Buildステージ上の変数名):CodeBuildTest 値:#{variables.test} を設定 version: 0.2 phases: build:

    commands: - echo "Hello, CodeBuild!“ - echo “test“ - echo ${CodeBuildTest} Buildspec 書き換え 変数とした「jrchampion」が表示されていることが確認できました