TL;DR
-
.travis.yml
に直トークン書きたくないからtravis encrypt
したい - Travis「Travis CLI 使ってね」っ
gem install travis
- このプロジェクト
ruby
じゃないし、ローカルにもruby
入ってない…
というときに、ruby
のDockerイメージを使ってアプリケーションに影響なくサクッとやりたい
準備
実践したのはmac + Docker for Mac環境ですが、Docker使えれば大丈夫なはずです
- macOS 10.14.5
- docker 18.09.2
想定プロジェクト
- GitHubで管理されている
- travis-ci.comでCIを回している
- アプリケーションルートに
.travis.yml
がある
手順
$ cd /path/to/project
$ docker run -it --rm --volume $(pwd)/:/app ruby bash
# cd app
# gem install travis
# travis login --com --github-token XXXXXXXX
# travis encrypt "xxxxxx:XXXXXXXX" --add notifications.slack --com
# exit
※ --com
オプションについて
travis-ci.comを使ってるので
--com
オプションつけましたが、travis-ci.orgな場合はオプション無しでよいのかもしれません(未検証)
※ --github-token
オプションについて
GitHubで二段階認証を有効化している場合は、
Personal access token
を発行して指定する必要があります
GitHub > Settings > Developer settings > Personal access tokens から発行できます
必要なスコープはrepo
,user:email
だと思われます
有効化していない場合は--github-token
オプションなしでやれば、普通にuser/passの認証がされるのでそれで大丈夫だと思われます(未検証)
※ travis encrypt
コマンドの部分はSlackのTravisアプリ画面の「セットアップの手順」に書いてあるのでコピーしちゃえば大丈夫です
上記うまくいけば.travis.yml
に暗号化された認証情報が追記されているはずなので、コミットしちゃえばOK
+notifications:
+ slack:
+ secure: XXXXXXXXXXXXXXXX...
まとめ
Circle CIは設定ファイルじゃなくWeb上の設定画面でWebhookのURL指定するだけで通知できたので楽ちんだった