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

photo-1428908799722-0a74e26ce7f6

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

参考