#
ドキュメント

Document

自分のための備忘録です。

CodePipeline/CodeDeploy

ref.

参考資料

  • https://www.youtube.com/watch?v=8mPm7jolnVk
    ↑の動画は、最初にCodeDeployの例が解説されていて、その後にCodePipelineでCodeDeployを動かす例を解説。
    動画で出てくるソースはおそらく以下のリポジトリのコードを使用
  • https://github.com/aws-samples/aws-codedeploy-samples/tree/master/applications/SampleApp_Linux

概要

  1. CodeDeployを使ってデプロイする
  2. ↑をCodePipelineを使って自動化する
    • GitHubのブランチにPushされたらCodeDeployを実行

CodeDeploy

EC2インスタンスにデプロイする例。

EC2インスタンスにロール適用とcodedeploy-agentインストール

以下の順序で作業する。

  1. ロール適用
  2. codedeploy-agentインストール

上記順序が逆になるとcodedeploy-agentがロール適用を認識できずにデプロイでエラーになる。 その場合の対処はcodedeploy-agentの再起動を参照。

ロール適用

EC2インスタンスにはAWSCodeDeployRoleポリシーを持つロールを作成して適用。

ポリシー:AWSCodeDeployRole

ポリシー ARN arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole 説明 Provides CodeDeploy service access to expand tags and interact with Auto Scaling on your behalf.

IAM_Management_Console

codedeploy-agentインストール

EC2インスタンスにデプロイする場合は以下を参考にcode

https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-linux.html

$ sudo yum update
$ sudo yum install ruby
$ sudo yum install wget
$ cd /home/ec2-user
$ wget https://aws-codedeploy-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/latest/install
$ chmod +x ./install
$ sudo ./install auto

codedeploy-agentの再起動

codedeploy-agentAWSCodeDeployRoleポリシーを持つIAMロールを割り当ててからインストールする必要がある。

[ec2-user@ip-10-0-1-111 ~]$ sudo service codedeploy-agent stop
Stopping codedeploy-agent:[ec2-user@ip-10-0-1-111 ~]$ sudo service codedeploy-agent start
Starting codedeploy-agent:[ec2-user@ip-10-0-1-111 ~]$ sudo service codedeploy-agent status