Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@leomaro7

AWS CodePipeline (CodeCommit + Codedeploy → EC2へデプロイ)

More than 1 year has passed since last update.

AWS認定学習のためにチュートリアルをやってみたのでメモ。
実際にやってみた方がかなりイメージがわくと思います。

1.CodeCommit リポジトリの作成

image.png

以下の手順どおりに、git をインストールして、クローンを作成する。
image.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

CodeDeploy デプロイグループを作成する。
image.png
image.png

5.CodePipeline パイプラインを作成する

Step 1 パイプラインの設定を選択する

image.png

Step 2 ソースステージを追加する

image.png

Step 3 ビルドステージを追加する

今回ビルドはしないのでスキップします。

Step 4 デプロイステージを追加する

image.png

Step 5 レビュー

内容を確認し、「パイプラインの作成」をする。

成功した場合は、パブリック DNSにアクセスして表示されるか確認。
失敗した場合は、CodePipeline のトラブルシューティングをする。

5.CodeCommit リポジトリのコードを編集

index.html のファイルを適当に編集して、変更されるか確認してみます。

$ git commit -am "test2"
$ git push
1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
leomaro7
AWS 認定 ソリューションアーキテクト – アソシエイト AWS 認定 SysOps アドミニストレーター – アソシエイト AWS 認定 デベロッパー – アソシエイト AWS 認定 クラウドプラクティショナー Linuc1

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?