Ruby
TravisCI

Travis CIでsecret valueを扱う

More than 5 years have passed since last update.

Secure-environment-variablesのとおり。
やってみる。

準備

Travis Clientをインストールする。

$ gem install travis

Encrypt

公開鍵を使って暗号化するようです。ソース

$ cd my_project
$ travis encrypt MY_SECRET=super_secret
Please add the following to your .travis.yml file:

  secure: "Vl4wZ31VKVsF+w2Vowv1l/hC6p1a7BR8mwonSswcvpdbmz289dFE7oUW7gw3nwzE1lRe71Soh90YqMnGmMY6UASRWHMkDLbf4BACkt4jJKSfQyWRf+J1YmHS8l1lrhk6V+RUsQjNdGbOkuZ5PQVzpwsPzHut4UgrxuLfpW9SkIg="

Pro Tip: You can add it automatically by running with --add.

--add env.globalのようにaddオプションを使うと.travis.ymlに自動で更新してくれますが、インデント崩れたりする。

試してみる

https://github.com/arukoh/sandbox/commit/a9628184edc3bff153d465354fdacbf3c2d5adeb

.travis.yml
env:
  global:
    - secure: "Vl4wZ31VKVsF+w2Vowv1l/hC6p1a7BR8mwonSswcvpdbmz289dFE7oUW7gw3nwzE1lRe71Soh90YqMnGmMY6UASRWHMkDLbf4BACkt4jJKSfQyWRf+J1YmHS8l1lrhk6V+RUsQjNdGbOkuZ5PQVzpwsPzHut4UgrxuLfpW9SkIg="
test/env_test.rb
def test_secret
  assert_equal "super_secret", ENV['MY_SECRET']
end

result

https://travis-ci.org/arukoh/sandbox/jobs/10072765