【AWS】CodePipeline ~ 入門編 ~

■ はじめに

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

※ CI/CD について

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

CI

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

CD

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

Continuous Deployment
 => 継続的デプロイ

■ CodePipeline とは?

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

公式サイト

https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/welcome.html

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

■ 動画

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

https://www.youtube.com/watch?v=8mPm7jolnVk

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/

関連記事

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