Slide 1

Slide 1 text

2025年3月27日 コンソールで学ぶ! AWS CodePipelineの機能とオプション NRIネットコム株式会社 Webインテグレーション事業部 基盤デザイン課 梅原 航 ~NRIネットコム TECH AND DESIGN STUDY #60~

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

2 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CI/CDはアプリ開発の各工程を高速・効率化する手法 ◼ AWSではCode系サービスを利用して実現 ◼ CodePipelineはサービスアップデートが多く、できることの幅が広くなっている AWSでのCI/CDパイプライン #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

4 Copyright(C) NRI Netcom, Ltd. All rights reserved. AWSコンソールでの表示のされ方 ◼ 実際に見てみましょう パイプライン作成後 #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

8 Copyright(C) NRI Netcom, Ltd. All rights reserved. ソースコードリポジトリの選択 パイプライン>新規のパイプラインを作成する>ソースステージを追加する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

12 Copyright(C) NRI Netcom, Ltd. All rights reserved. 様々なデプロイ先が選択可能 パイプライン>新規のパイプラインを作成する>デプロイステージを追加する #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

15 Copyright(C) NRI Netcom, Ltd. All rights reserved. ステージ失敗時に自動でロールバック・再試行設定 CodePipeline>パイプライン>>パイプラインを編集 #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ◼ ステージが失敗時にロールバックもしくは再試行が自動で可能 ⚫ 自動再試行は「ステージ」もしくは「アクション」から再試行

Slide 17

Slide 17 text

No content