Travis CI べんりですね。「テストが通ったらherokuにデプロイする」ということもできるようなのでやってみました。すでに Travis CI の基本の設定は済んでいる前提です。
gem i travis # travis gem を入れていなかったら
cd YOUR_APP_PATH
travis setup heroku
とすると、アプリケーションルートにある.travis.yml
に必要な設定を追記してくれます。これをコミットしてプッシュするだけ。とても簡単でした。
でも少し気になることがありました。
疑問1
ここでは heroku のトークンを暗号化したものを.travis.yml
に記述しているようです。github に公開して、別の誰かにトークンを複合されたりしないでしょうか?
回答1
公開鍵で暗号化されていて、秘密鍵はtravisが保持しているのでとりあえず大丈夫そう。
疑問2
元のトークンに戻せなさそうなのはわかった。でも第三者がこの暗号化したトークンを Travis CI に渡したら、僕の heroku アプリに勝手にデプロイできるのでは?
回答2
リポジトリごとに公開鍵/秘密鍵のペアが存在しているので、同じキーを使って別のリポジトリからデプロイはできません。つまり自分のリポジトリへの書き込み権限がなければ大丈夫。
ちなみに公開鍵は https://api.travis-ci.org/repos/willnet/gimei/key のような URL で確認できます。
まとめ
考えてみれば当たり前だし、Travis CI ほどのサービスがそんなこと考えてないはずがないんだけど、ちょっと心配になって調べたので書きました。