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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Kazushi Kazushi
November 04, 2024
590

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

Avatar for Kazushi

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」が表示されていることが確認できました