目次
はじめに
今回ははBitbucket上で直接AWS環境にアプリケーションをデプロイする方法を紹介したいと思います。
利用するものはAWSのCodeDeployとBitbucketのAWS CodeDeploy for Bitbucketだけです。
AWS側の設定
IAMの設定
- https://console.aws.amazon.com/iam/home#/rolesにアクセスし、「Create New Role」をクリックする
- 「Role Name」はCodeDeployに設定し、「Next Step」をクリックする
- 「AWS Service Roles」の「AWS CodeDeploy」を「Select」する
- とりあえず、「AWSCodeDeployRole」を選択して、足りないPolicyは後で追加しよう!
- Step.5まで行けたら、「Create Role」をクリックする
- 作ったRoleを選択して、「Attach Policy」から足りないPolicyを其れ其れ追加しよう
追加のPolicyリスト一覧
– AWSLambdaFullAccess
– AmazonS3FullAccess
– AWSCodeDeployFullAccess
– AmazonSNSFullAccess
CodeDeployの設定
CodeDeployを使って、EC2にデプロイする手順は別途記事を書くので、
しばらくの間はその他の記事を参考してください(T-T)
・EC2デプロイのためにCodeDeployを導入する
S3の設定
S3を利用して、ソースコードを中継するので、CodeDeploy用のパケットを作りましょう
1. https://console.aws.amazon.com/s3/homeにアクセスし、「Create Bucket」をクリックする
2. 「Bucket Name」はなんでもいい!「Create」をクリックする
3. 完成www
Bitbucket側の設定
AWS CodeDeploy for Bitbucketの追加
- Bitbucketにログインして、アカウントの管理ページにアクセスする
- 「Find integrations」の中から「AWS CodeDeploy for Bitbucket」を探し出し、「追加」ボダンを押す
AWS CodeDeploy for Bitbucketの設定
- 実際に設定したリポジトリの「設定」から「CodeDeploy Settings」を選択する
「AWS Account ID」と「External ID」を覚えましょう!後で使うから
- IAMからCodeDeployのRole設定を開き、「Trust Relationships」⇒「Edit Trust Relationship」信頼関係の設定を編集する
- 「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」"
}
}
}
]
}
- 追加したら、Bitbucketの「CodeDeploy Settings」に戻って、「Role ARN」と「Region」を入力する
- デプロイ対象の「Application」とソースコード保存用の「S3 Bucket」を選択して、saveする
実施にデプロイしてみる
- Bitbucket上でデプロイしたいブランチの画面に遷移し、「Deploy to AWS」をクリックする
- デプロイした「Deployment Group」を選択して、「Submit」をクリックする
- 右上はグリーンのチェックマークになったら、デプロイ完了になります。