Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

Bitbucketから直接AWS環境にデプロイする方法

目次

はじめに

今回ははBitbucket上で直接AWS環境にアプリケーションをデプロイする方法を紹介したいと思います。
利用するものはAWSのCodeDeployとBitbucketのAWS CodeDeploy for Bitbucketだけです。

AWS側の設定

IAMの設定

  1. https://console.aws.amazon.com/iam/home#/rolesにアクセスし、「Create New Role」をクリックする
  2. 「Role Name」はCodeDeployに設定し、「Next Step」をクリックする
    ice_screenshot_20161206-231649
  3. 「AWS Service Roles」の「AWS CodeDeploy」を「Select」する
    ice_screenshot_20161206-234244
  4. とりあえず、「AWSCodeDeployRole」を選択して、足りないPolicyは後で追加しよう!
    ice_screenshot_20161206-234627
  5. Step.5まで行けたら、「Create Role」をクリックする
    ice_screenshot_20161206-234333
  6. 作ったRoleを選択して、「Attach Policy」から足りないPolicyを其れ其れ追加しよう
    追加のPolicyリスト一覧

– AWSLambdaFullAccess
– AmazonS3FullAccess
– AWSCodeDeployFullAccess
– AmazonSNSFullAccess
ice_screenshot_20161206-235229

CodeDeployの設定

CodeDeployを使って、EC2にデプロイする手順は別途記事を書くので、
しばらくの間はその他の記事を参考してください(T-T)
EC2デプロイのためにCodeDeployを導入する

S3の設定

S3を利用して、ソースコードを中継するので、CodeDeploy用のパケットを作りましょう
1. https://console.aws.amazon.com/s3/homeにアクセスし、「Create Bucket」をクリックする
ice_screenshot_20161207-002552
2. 「Bucket Name」はなんでもいい!「Create」をクリックする
ice_screenshot_20161207-002746
3. 完成www
ice_screenshot_20161207-003221

Bitbucket側の設定

AWS CodeDeploy for Bitbucketの追加

  1. Bitbucketにログインして、アカウントの管理ページにアクセスする
  2. 「Find integrations」の中から「AWS CodeDeploy for Bitbucket」を探し出し、「追加」ボダンを押す
    ice_screenshot_20161206-230310

AWS CodeDeploy for Bitbucketの設定

  1. 実際に設定したリポジトリの「設定」から「CodeDeploy Settings」を選択する
    「AWS Account ID」と「External ID」を覚えましょう!後で使うから
    ice_screenshot_20161206-230855
  2. IAMからCodeDeployのRole設定を開き、「Trust Relationships」⇒「Edit Trust Relationship」信頼関係の設定を編集する
    ice_screenshot_20161207-004113
  3. 「AWS Account ID」と「External ID」を以下のコードに追加して、「Update Trust Policy」をクリックする
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "codedeploy.amazonaws.com"
},
"Action": "sts:AssumeRole"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::「AWS Account ID」:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "「External ID」"
}
}
}
]
}
  1. 追加したら、Bitbucketの「CodeDeploy Settings」に戻って、「Role ARN」と「Region」を入力する
  2. デプロイ対象の「Application」とソースコード保存用の「S3 Bucket」を選択して、saveする
    ice_screenshot_20161207-005528

実施にデプロイしてみる

  1. Bitbucket上でデプロイしたいブランチの画面に遷移し、「Deploy to AWS」をクリックする
    ice_screenshot_20161207-005923
  2. デプロイした「Deployment Group」を選択して、「Submit」をクリックする
    ice_screenshot_20161207-005938
  3. 右上はグリーンのチェックマークになったら、デプロイ完了になります。
    ice_screenshot_20161207-010405
– PR –
– PR –