AWS OPSWORKS DEPLOYというCustom Stepを使えばWerckerからOpsWorksへもデプロイが可能です。
設定方法
wercker.ymlの設定
wercker.ymlのdeploy stepに以下のように設定します。
deploy: steps: - pip-install: requirements_file: "" packages_list: "awscli" - mactynow/aws-opsworks-deploy: access_key_id: [ACCESS KEY ID] secret_access_key: [SECRET ACCESS KEY] default_region: us-east-1 default_ouput: json stack_id: [STACK ID] app_id: [APP ID]
access_key_id
、secret_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の設定

Deploy Targetに「Custom deploy」として追加します。デプロイ対象のブランチ名を指定して下さい。
いざデプロイ!
既にWerckerにアプリを登録してあれば、git pushでビルドプロセスからデプロイまでWerckerで自動的に実行されます。
あわせて読みたい:Githubのプライベートリポジトリでも無料で使えるCI、Werckerを使ってrails newからHerokuのデプロイまでやってみる

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