CIサービスWerckerでOpsWorksにデプロイする

Pocket

AWS OPSWORKS DEPLOYというCustom Stepを使えばWerckerからOpsWorksへもデプロイが可能です。

設定方法

wercker.ymlの設定

wercker.ymlのdeploy stepに以下のように設定します。

access_key_idsecret_access_keyにはOpsWorksへのデプロイ権限のあるIAMのキーを設定して下さい。

stack_idにはOpsWorksのスタックの設定画面にあるOpsWorks IDを、app_idにはアプリの設定画面にあるOpsWorks IDを設定します。もしデプロイ先インスタンスも指定する必要があれば、instance_id: [INSTANCE ID]というキーを追加して設定することもできます(オプションです)。

default_regionは東京リージョン(ap-northeast-1)などのリージョンで稼働させている場合でもus-east-1を指定してください。OpsWorksのAPIのエンドポイントがus-east-1であるためです。

Werckerの設定

wercker

Deploy Targetに「Custom deploy」として追加します。デプロイ対象のブランチ名を指定して下さい。

いざデプロイ!

既にWerckerにアプリを登録してあれば、git pushでビルドプロセスからデプロイまでWerckerで自動的に実行されます。

あわせて読みたい:Githubのプライベートリポジトリでも無料で使えるCI、Werckerを使ってrails newからHerokuのデプロイまでやってみる

opsworks

OpsWorksから見ると、こんな感じでWerckerからデプロイ指示が飛んでいるのがわかります。デプロイの具体的な実行自体はOpsWorksが実行しているので、WerckerにGithubのキーなどを渡さなくて良いのが、良いですね。

OpsWorksを利用している方は、ぜひ利用してみてください。

AWS OPSWORKS DEPLOY