AWS CI/CD

AWS CodeCommit

AWSで利用できるGitリポジトリ

権限

AWS Code Commit Full Access ポリシーが必要

Git認証情報

AWS CodeCommit の HTTPS Git 認証情報 > 認証情報を生成

Gitリポジトリ

「CodeCommit」サービス > リポジトリを作成
→GitリポジトリURL、ユーザ名、パスワードが発行される(変更不可)

AWS CodeBuild

AWSで利用できるビルドサービス

ビルドプロジェクト作成

「CodeBuild」サービス > ビルドプロジェクトを作成する

ソースプロバイダ

・AWS CodeCommit
・Git Hub
・BitBucket

リポジトリ・ブランチ

Gitリポジトリ・ブランチを指定

環境

・Managed
・カスタムイメージ(Dockerイメージ)

Buildspec

buildspec.ymlを作成してリポジトリにpush

※buildspec.yml
version: 0.2

phases:
install:
runtime-version:
python: 3.8
pre_build:
commands:
– echo Nothing to do in the pre_build phase…
build:
commands:
– echo Curl Test started on `date`
– curl -I https://aws.amazon.com/jp/
post_build:
commands:
– echo Test completed on `date`

ビルドプロジェクト実行

↑で作成したプロジェクトを選択 > ビルドを開始

CodePipeline

AWSで利用できるCI/CDサービス
ビルド→テスト→デプロイの自動化等
CodeCommit、CodeBuildを連続実行できる

パイプライン作成

ソースプロバイダ

・AWS CodeCommit
・Git Hub
・BitBucket

リポジトリ・ブランチ

Gitリポジトリ・ブランチを指定

検出オプション

パイプラインを自動的に開始するトリガー
・Amazon CloudWatch Events
・AWS CodePipeline

プロバイダー

・AWS CodeBuild
・Jenkins

プロジェクト名

作成済みのbuildプロジェクトを選択
→これで指定のブランチへのpushを検知してbuildプロジェクトが実行される

デプロイステージ

スキップ

パイプライン実行

実行はgitリポジトリの変更を検知して自動実行される

CodeDeploy

AWSで利用できるEC2、ECS、Lambda等への自動デプロイサービス