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

コンソールで学ぶ!AWS CodePipelineの機能とオプション

umehara
March 27, 2025

コンソールで学ぶ!AWS CodePipelineの機能とオプション

umehara

March 27, 2025
Tweet

More Decks by umehara

Other Decks in Technology

Transcript

  1. 1 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 基本情報

    ⚫ 梅原 航(うめはら こう) ⚫ NRIネットコム株式会社 Webインテグレーション事業部(@大阪) ⚫ AWSを使ったシステムのインフラ開発・運用に従事 ◼ 好きなAWSサービス ◼ 所有資格 自己紹介 Amazon Elastic Container Service (Amazon ECS) #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  2. 2 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CI/CDはアプリ開発の各工程を高速・効率化する手法

    ◼ AWSではCode系サービスを利用して実現 ◼ CodePipelineはサービスアップデートが多く、できることの幅が広くなっている AWSでのCI/CDパイプライン #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  3. 3 Copyright(C) NRI Netcom, Ltd. All rights reserved. 目的別のテンプレートから新規構築 ◼

    パイプラインの新規構築は以下のテンプレートから選択 ⚫ デプロイ ⚫ 継続的インテグレーション ⚫ 自動化 ⚫ カスタム CodePipeline>パイプライン>新規のパイプラインを作成する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  4. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. AWSコンソールでの表示のされ方 ◼

    実際に見てみましょう パイプライン作成後 #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  5. 5 Copyright(C) NRI Netcom, Ltd. All rights reserved. パイプラインの実行モード選択 ◼

    パイプラインの実行モードを選択 ⚫ 優先済み(SUPERSEDED) ⚫ キュー(QUEUED) ⚫ 並行(PARALLEL) パイプライン>新規のパイプラインを作成する>パイプラインの設定を選択する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  6. 6 Copyright(C) NRI Netcom, Ltd. All rights reserved. パイプラインを複数実行したときの違い ◼

    キュー(QUEUED) ⚫ 各パイプライン実行は待ち行列に入る ⚫ パイプライン実行は上書きされず直列実行 ◼ 並行(PARALLEL) ⚫ 各パイプライン実行は独立して実行される ⚫ リリース3を優先してリリースも可能 パイプライン>新規のパイプラインを作成する>パイプラインの設定を選択する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します キュー 並列
  7. 7 Copyright(C) NRI Netcom, Ltd. All rights reserved. パイプラインを複数実行したときの違い ◼

    優先済み(SUPERSEDED) ⚫ 各ステージは1つしか実行できない ⚫ リリース2は保留されたのち、後発のリリース3に上書き パイプライン>新規のパイプラインを作成する>パイプラインの設定を選択する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します 優先済み
  8. 9 Copyright(C) NRI Netcom, Ltd. All rights reserved. ソースコードリポジトリの選択 パイプライン>新規のパイプラインを作成する>ソースステージを追加する

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ 特定ブランチ・ファイルパスへのプッシュイベント・プルリクエストを指定可能 ◼モノリポジトリ構成時に有効
  9. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved. ビルドステージの設定(Commandsアクション) パイプライン>新規のパイプラインを作成する>ビルドステージを追加する

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ CodeBuildやJenkinsを使わなくともコマンド実行が可能に ⚫ ビルドプロジェクトの管理が不要 ⚫ CodeBuildの実行料金は必要
  10. 11 Copyright(C) NRI Netcom, Ltd. All rights reserved. ビルドステージの設定(ビルドプロバイダー) パイプライン>新規のパイプラインを作成する>ビルドステージを追加する

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ CodeBuildやJenkins上でビルドジョブを実行 ◼ ECR関連のアクションも選択可能 ⚫ ECRBuildAndPublishアクションによる直接ECRへのプッシュ ⚫ InspectorScanアクションを使ったコンテナイメージのスキャン
  11. 13 Copyright(C) NRI Netcom, Ltd. All rights reserved. 各ステージでの条件追加 CodePipeline>パイプライン>>パイプラインを編集

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ ステージの開始時と終了時(成功・失敗時)に条件分岐が可能
  12. 14 Copyright(C) NRI Netcom, Ltd. All rights reserved. 各ステージでの条件追加 CodePipeline>パイプライン>>パイプラインを編集

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ 条件は6個から選択可能 ⚫ 入力条件の結果でスキップしたい場合は、LambdaとVaribleCheckの2種類 ◼ ユースケース ⚫ デプロイ実行前に本番環境の正常性を判断してからリリース ⚫ 特定の時刻以外はデプロイされないようにする
  13. 15 Copyright(C) NRI Netcom, Ltd. All rights reserved. ステージ失敗時に自動でロールバック・再試行設定 CodePipeline>パイプライン>>パイプラインを編集

    #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ ステージが失敗時にロールバックもしくは再試行が自動で可能 ⚫ 自動再試行は「ステージ」もしくは「アクション」から再試行