このブログをご覧のみなさん、こんにちは。

Travis CI と GitHub を連携させると継続的インテグレーションが実現できます。しかし、それだけでは Heroku にデプロイするのは手動になってしまいます。そこで、以下の設定をすることで、 Travis CI での継続的インテグレーションが成功した場合、自動的に Heroku にデプロイするようにしました。

Travic CI から Heroku に Rails を継続的デプロイメントする方法

.travis.ymlに以下の記述を追加します。

deploy:
  provider: heroku
  api_key:
    secure: "YOUR ENCRYPTED API KEY"

api_key を直書きすると誰でもデプロイできるようになってしまうので、 secure key を指定しています。

以下のコマンドを実行すると、対話形式で設定を行えます。

$ travis setup heroku

また、いくつかオプションがあり、app はリポジトリとサイトが異なる場合に設定します。

deploy:
  provider: heroku
  api_key:
    secure: "YOUR ENCRYPTED API KEY"
  app: my-app

本番とステージング環境を分ける場合は、以下のように設定します。

deploy:
  provider: heroku
  api_key:
    secure: "YOUR ENCRYPTED API KEY"
  app:
    develop: my-app-staging
    master: my-app-production

参考