【AWS】CodePipeline ~ 入門編 ~

■ はじめに

 CI / CDを実現するAWSサービスのひとつである
AWS CodePipeline について調べてみる

目次

【0】CI/CD
【1】CodePipeline とは?
【2】AWS Code シリーズ
 1)AWS CodeCommit
 2)AWS CodeBuild
 3)AWS CodeDeploy
【3】動画
【4】CodePipeline の機能
 1)承認アクション機能
 2)Github との連携

【0】CI/CD

ビルドやテストを継続的に繰り返す仕組み

CI

Continuous Integration、Integration = 統合
 => 継続的インティグレーション

CD

Continuous Delivery、Delivery = 配達
 => 継続的デリバリ

Continuous Deployment
 => 継続的デプロイ

【1】CodePipeline とは?

 AWS Code シリーズ(後述参照)である
CodeCommit、CodeBuild、CodeDeploy を
一連の流れとして繋げられるサービス

公式サイト
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/welcome.html

【2】AWS Code シリーズ

# 開発プロセス AWSサービス 備考
1 バージョン管理 CodeCommit
2 ビルド自動化 CodeBuild
3 デプロイ自動化 CodeDeploy
4 全体の流れを管理 CodePipeline デプロイの検知(トリガー)

https://qiita.com/leomaro7/items/41cbe8aa7c32298ec665
https://d1.awsstatic.com/events/jp/2018/summit/tokyo/aws/58.pdf
https://d1.awsstatic.com/events/jp/2017/summit/slide/D4T2-6.pdf

1)AWS CodeCommit
2)AWS CodeBuild
3)AWS CodeDeploy

1)AWS CodeCommit

* AWS版Github
* ソースコードを管理するGitリポジトリサービス
* 料金は、以下の公式サイトを参照のこと。

https://aws.amazon.com/jp/codecommit/pricing/

2)AWS CodeBuild

* ソースコードのコンパイル/実行/テスト/パッケージ生成を行うサービス
* 詳細は、関連記事を参照のこと

https://dk521123.hatenablog.com/entry/2020/01/21/221122

3)AWS CodeDeploy

* デプロイ自動化サービス
* 詳細は、関連記事を参照のこと

https://dk521123.hatenablog.com/entry/2020/05/30/122803

【3】動画

AWS公式
https://youtu.be/31-w23SdOAs?t=1210

一般サイト

* 18:00位からCodePipeline のハンズオンを行っている

https://youtu.be/8mPm7jolnVk?t=1082

【4】CodePipeline の機能

1)承認アクション機能

* 承認ボタンを押してから、デプロイってことができる
 => 特に、本番環境(prod)で必要かなっと。
 => 詳細は、以下のサイトを参照。

https://dev.classmethod.jp/articles/codepipeline-approval/
https://dev.classmethod.jp/articles/codepipeline-approval-action/
CloudFormationでの作成方法
https://qiita.com/neruneruo/items/70f06323de44b901918d

2)Github との連携

Github の Webhook を使う

Webhook は、以下の関連記事を参照のこと

Github ~ Webhook 編 ~
https://dk521123.hatenablog.com/entry/2020/01/25/224402

公式サイト

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/AWS_CodePipeline.html

参考文献

https://www.tdi.co.jp/miso/aws-cloudformation-infrastructure-as-code
https://dev.classmethod.jp/cloud/aws/cloudformation-beginner01/

関連記事

CodePipeline ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/12/22/095608
CodeBuild ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/21/221122
CodeDeploy ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/30/122803
AWS CloudFormation ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/26/224812
Terraform ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/09/222057
Github ~ Webhook 編 ~
https://dk521123.hatenablog.com/entry/2020/01/25/224402