Debuginfo

思考とアウトプット

AWS Opsworks + CircleCI で自動デプロイ

  1. AWS IAMユーザー(circleci)を作成
  2. 作ったユーザのAWS Access Key ID/Secret Access Keyを取得
  3. CircleCIのSetting->Permissions->AWS Permissionsを追加
  4. awsコマンドを手元で走らせてデプロイできるか確認

注意:regionはus-east-1を使用する

$ aws opsworks --region us-east-1 create-deployment --stack-id $STACK_ID --app-id $APP_ID --command "{\"Name\":\"deploy\"}"
  1. deploy-staging.shに上記を記述し、circle.ymlに追加
machine:
  timezone:
    UTC 
  ruby:
    version: 2.1.3

dependencies:
  pre:
    - sudo pip install awscli

deployment:
  staging:
    branch: master 
    commands:
      - ./script/deploy-staging.sh

deploy-stating.shは下記。

#!/bin/sh

set -ex

REGION='us-east-1'
STACK_ID='yyy'
APP_ID='xxx'

aws opsworks --region $REGION create-deployment --stack-id $STACK_ID --app-id $APP_ID --command "{\"Name\":\"deploy\"}"