CircleCI から Elastic Beanstalk にデプロイする

こんにちは、ギルドワークスの上野です。

ギルドワークスでは、開発したアプリケーションを 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 の中です。

スクリーンショット 2015-12-15 18.57.41

あとは、指定したブランチにマージされるとデプロイされます。
めっちゃ便利ですね。

ギルドワークスではデプロイの徹底的な見直しを通じて、「正しいものを正しくつくる」を実現しようとしています。コーチや開発など、お手伝いできることがあればぜひ、お問い合わせください

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中