wercker Classic(Andorian)からDocker enable(Ewok)に移行する
背景
werckerでは4月あたまぐらいからDockerベースになったv2(Ewok)が始まり、
記事を書いてる6月時点でdefaultとなっている。
その割にEwokでの記事があまりないので移行にあわせてメモしておく。
前提
移行の話なので既にAndorianで色々やっている前提です。 環境は
- Rails 4.2.1
- postgresql
- phantomjs
- Heroku
簡単に変更内容
- DockerベースとなったためAndorianで使っていたwerckerのものではなくDockerHubなどのイメージを使う。
- DeployTargetはCustomしか選択出来ない。
- オプションや環境変数がちょっと変わった
変更
# 最新のrubyとnode.jsが使える公式のイメージがこれだった。 box: rails:4.2.1 # postgres公式イメージ。POSTGRES_PASSWORDは必須 services: - id: postgres env: POSTGRES_PASSWORD: $DATABASE_PASSWORD build: steps: - bundle-install: # jobsオプションが効かなくなってしまったのはまだ原因不明... jobs: 4 - rails-database-yml: # ここをpostgresqlからpostgresql-dockerに変更 service: postgresql-docker # phantomjsを使う場合 - aussiegeek/install-phantomjs # script部分は特に変更なし - script: name: echo ruby information code: | echo "ruby version $(ruby --version) running" echo "from location $(which ruby)" echo -p "gem list: $(gem list)" - script: name: db:schema:load code: RAILS_ENV=test bin/rake db:schema:load - script: name: rspec code: bin/rspec --color -f d deploy: steps: ## HerokuへのDeployで必要な環境変数 # HEROKU_APP_NAME # HEROKU_KEY(API_KEY) # HEROKU_USER(HerokuID) - heroku-deploy: install-toolbelt: true key-name: HEROKU_DEPLOY_KEY - script: name: rake db:migrate code: heroku run rake db:migrate --app $HEROKU_APP_NAME