こんにちは、ギルドワークスの上野です。
ギルドワークスでは、開発したアプリケーションを Elastic Beanstalk を利用してデプロイ、運用しています。
EB CLI を入れることで、コマンドラインからデプロイすることもできますが、
自動化したいってなりますよね。
そこで自動化のやり方を調べたので、ブログにも書いておきます。
ちなみに自分のローカル環境に構築する際は、以下のコマンドで簡単にインストールできます。(python や pip がインストールされている前提)
pip install awsebcli
ですが、僕の環境ではどうもアップデートが上手くできなくて、いろいろいじってたらぶっ壊れて動かなくなったりしましたw
brew で入れたら今のところ安定しています。
brew install awsebcli
1. circle.yml の設定
machine:
python:
version: 2.7.6
dependencies:
pre:
- pip install awsebcli
deployment:
staging:
branch: master
commands:
- eb deploy [env環境名]
production:
branch: production
commands:
- eb deploy [env環境名]
staging、production や branch の指定は任意です。
CircleCI の設定はこれだけです。
参考までに
CircleCI は結構いろんな指定ができるので以下の内容も確認してみてください。
https://circleci.com/docs/configuration
2.config.global.yml の設定
.elasticbeanstalk の下に config.global.yml を作成します。
global:
application_name: [アプリケーション名]
default_region: ap-northeast-1
application_name は Beanstalk を作成する際のアプリケーション名です。
3. CircleCI の設定
最後に CircleCI の設定に AWSのアクセスキー等を設定します。
Project Settings の AWS Permissions の中です。
あとは、指定したブランチにマージされるとデプロイされます。
めっちゃ便利ですね。
ギルドワークスではデプロイの徹底的な見直しを通じて、「正しいものを正しくつくる」を実現しようとしています。コーチや開発など、お手伝いできることがあればぜひ、お問い合わせください。