Posted at

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