テストコード中でTwitter APIを使っているんだけど、それをそのままTravis CIでテストしようとするとgithubにconsumer keyやconsumer serrectをcommitする必要が出てくるため、Travis CIで使うために暗号化したパラメータを複数渡す方法を探していました。
忙しい人のための結論
暗号化したいパラメータを空白で区切りで渡せばok
travis encrypt VAR1=foo VAR2=baz
調べた
gem install travis
すればコマンドがインストールできる。
この辺のサイトを見ても暗号化したいパラメータが1つの場合しかなかったので実際に実験してみました
- travis-ciでビルドしたソースをgithubのtagにpushする | Toshipon@sketch.book
- Middleman で作った web サイトを Travis + GitHub pages でお手軽に運用する - tricknotesのぼうけんのしょ
- Travis CI: Encryption keys
空白で区切る
$ travis encrypt VAR1=foo VAR2=baz Please add the following to your .travis.yml file: secure: "h+1848Nsz5phbcdUMt8FpYNBHIWQu+6aLiCNyX/uGgcC/bx71K8AE+52x22+EiHDamk8yrVAajVwsPYv8nBKSEEj9IGkEmaOETXi+v5Bi1cHwghK7fbFAdpBLBhwIgoRcmSZel96q9s4njBSXbBYnlLxcwdTyzOpUZ1iwVNLzFk="
.travis.yml を作ってencryptで出力されたtokenを書く
script: echo "VAR1=$VAR1, VAR2=$VAR2" env: global: # travis encrypt VAR1=foo VAR2=baz secure: "h+1848Nsz5phbcdUMt8FpYNBHIWQu+6aLiCNyX/uGgcC/bx71K8AE+52x22+EiHDamk8yrVAajVwsPYv8nBKSEEj9IGkEmaOETXi+v5Bi1cHwghK7fbFAdpBLBhwIgoRcmSZel96q9s4njBSXbBYnlLxcwdTyzOpUZ1iwVNLzFk="
travisでテストする
$ export VAR1=[secure] $ export VAR2=[secure] $ echo "VAR1=$VAR1, VAR2=$VAR2" VAR1=foo, VAR2=baz The command "echo "VAR1=$VAR1, VAR2=$VAR2"" exited with 0.
https://travis-ci.org/sue445/dotfiles/builds/17421104
一発目で成功したw
セミコロンで区切る
念のため実験
travis encrypt VAR1=foo;VAR2=baz Please add the following to your .travis.yml file: secure: "IKwvtmkcbjr/ShewETVAikVfjWlA0IkbkMLCH/8wzVMEcIZIysVpdgpnGOpp8dSPAJjZsPdJi5oJlOaHAIslrnphfL1yw0Fyy0dC3wZMb6cANdmawGx5U5JZZFHeI1m4uuwnE/yCgYoV1uwZxoaEgM4f6uej7kKPryiFLzy76Z4="
同様に .travis.yml に書き込む
script: echo "VAR1=$VAR1, VAR2=$VAR2" env: global: # travis encrypt VAR1=foo;VAR2=baz secure: "IKwvtmkcbjr/ShewETVAikVfjWlA0IkbkMLCH/8wzVMEcIZIysVpdgpnGOpp8dSPAJjZsPdJi5oJlOaHAIslrnphfL1yw0Fyy0dC3wZMb6cANdmawGx5U5JZZFHeI1m4uuwnE/yCgYoV1uwZxoaEgM4f6uej7kKPryiFLzy76Z4="
travisでテストする
$ export VAR1=[secure] $ echo "VAR1=$VAR1, VAR2=$VAR2" VAR1=foo, VAR2= The command "echo "VAR1=$VAR1, VAR2=$VAR2"" exited with 0.
https://travis-ci.org/sue445/dotfiles/builds/17421816
2つ目の変数がとれてないのでダメ