1. leomaro7

    Posted

    leomaro7
Changes in title
+AWS CodePipeline (CodeCommit + Codedeploy → EC2へデプロイ)
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,116 @@
+AWS認定学習のためにチュートリアルをやってみたのでメモ。
+実際にやってみた方がかなりイメージがわくと思います。
+
+
+
+#1.CodeCommit リポジトリの作成#
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/d6dc5aae-bfa4-4628-7405-5c23ad9096ff.png)
+
+以下の手順どおりに、git をインストールして、クローンを作成する。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/b74eed4a-6dd0-8ca1-8b9a-6e26adfe760d.png)
+
+```
+$ sudo yum install git -y
+
+$ git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/MyDemoRepo
+
+$ mkdir tmp
+$ cd tmp
+```
+
+
+
+#2.CodeCommit リポジトリにサンプルコードを追加する#
+
+サンプルコードの準備
+
+```
+$ curl -o https://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
+
+$ unzip SampleApp_Linux.zip -d MyDemoRepo/
+
+$ ls -la MyDemoRepo/
+```
+
+ステージング→コミット→プッシュします。
+
+```
+$ git add -A
+
+$ git commit -m "test 1"
+
+$ git push
+```
+
+
+
+#3.デプロイするEC2インスタンスの準備#
+
+以下のとおりロールを作成する。
+
+ - サービス:EC2
+ - ロール名: EC2InstanceRole
+ - ポリシー名:AmazonEC2RoleforAWSCodeDeploy
+
+タグは、MyCodePipelineDemo とし、ユーザデータは以下のとおりにし、EC2インスタンスを作成する。
+
+```
+#!/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-2/latest/install . --region us-east-2
+chmod +x ./install
+./install auto
+```
+
+
+
+#4.CodeDeploy で EC2インスタンスにデプロイする#
+
+以下のとおりロールを作成する。
+
+ - サービス:CodeDeploy
+ - ロール名: CodeDeployRole
+ - ポリシー名:CodeDeploy
+
+CodeDeploy アプリケーションを作成する。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/d646ab46-51b1-2252-fe91-555819dfa8fa.png)
+
+CodeDeploy デプロイグループを作成する。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/d3f98f37-1ba9-f5a0-a929-815669324267.png)
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/2f9c779b-c21b-f5f3-52d5-46220da80cb8.png)
+
+
+
+#5.CodePipeline パイプラインを作成する#
+
+##Step 1 パイプラインの設定を選択する##
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/5be76f4f-7169-d7d4-ed88-fc8cdc62954e.png)
+
+##Step 2 ソースステージを追加する##
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/8ddf886a-957f-a83e-efc7-a79c59fcce80.png)
+
+##Step 3 ビルドステージを追加する##
+今回ビルドはしないのでスキップします。
+
+##Step 4 デプロイステージを追加する##
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/9e6bb290-4db8-e3d8-31de-c10ed66d3278.png)
+
+##Step 5 レビュー##
+内容を確認し、「パイプラインの作成」をする。
+
+成功した場合は、パブリック DNSにアクセスして表示されるか確認。
+失敗した場合は、[CodePipeline のトラブルシューティング](https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/troubleshooting.html)をする。
+
+
+
+#5.CodeCommit リポジトリのコードを編集#
+
+index.html のファイルを適当に編集して、変更されるか確認してみます。
+
+```
+$ git commit -am "test2"
+$ git push
+```