AWS Code Pipelineアップデート(AWS CodeCommitとの連携_201604)

Preview:

Citation preview

1

AWS CodePipeline Update

2016/05/09アマゾン ウェブ サービス ジャパン株式会社ソリューション アーキテクト福井 厚

2

AWS CodePipeline とは

• ソフトウェアのリリースに必要なステップをモデル化、視覚化、自動化できる継続的デリバリーサービス

• ソフトウェアのリリース プロセスの異なるステージごとにモデル化と構成が可能

• ソフトウェアの継続的な変更のリリースで要求されるステップを自動化

3

AWS CodeCommit との連携

• CodePipeline のソース プロバイダとして AWS CodeCommit を選択可能に– CodeCommit は AWS が提供する

フルマネージドなソース管理サービス– 高度にスケーラブルなプライベート

Git リポジトリを容易に利用可能に

• コンソール、 AWS CLI 、AWS SDK から設定可能

UPDATED

4

Step 1:CodeCommit リポジトリの新規作成

5

Step 2:CodeCommit リポジトリの URL の取得

6

Step 3: ローカル リポジトリの作成

$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Cloning into 'my-demo-repo'...remote: Counting objects: 12, done.remote: Unpacking objects: 100% (12/12), done.Checking connectivity... done.$ git config --local user.name "fatsushi”$ git config --local user.email fatsushi@amazon.co.jp

... ローカル リポジトリにファイルを作成$ git add –A$ git commit –m “Added sample app”$git push

7

Step 4-1:EC2 インスタンスの作成

• コンソールで EC2 インスタンスを作成– パブリック IP 割り当てを有効化– AWS CodeDeploy で利用する IAM インスタンス プロファ

イルを使うように構成された IAM Role を指定( CodeDeploy が公開する S3 バケットに対する S3:Get*, S3:List* を許可

– インスタンスの詳細の設定ページの高度な詳細でユーザーデータを指定(次ページを参照)

– インスタンスのタグ付けページで Name タグを指定

8

Step 4-2:AWS CodeDeploy エージェントのインストール

#!/bin/bash yum -y update yum install -y ruby yum install -y aws-cli cd /home/ec2-user aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1 chmod +x ./install ./install auto

下記のスクリプトの EC2インスタンスのユーザーデータに設定

9

Step 5:CodeDeploy アプリケーションの作成

• アプリケーション名の指定• デプロイメント グループ名

の指定• タグの選択• デプロイメントの構成の選

択• サービス ロール ARN の指定

10

Step 6-1: Pipeline の作成

11

Step 6-2: Pipeline の作成の続き

12

Step 7: コードの修正とコミットでパイプラインを実行

13

Recommended