iOSアプリ開発でのTravis CIを試すの続きでTravis CI
とSlack
を連携させる。
SlackでTravisCIからの通知を受け取るを参考にそのままだが備忘録として残しておく。
Slackでの設定
- アカウント名をクリックして表示されるメニューから
Apps & integrations
を選択 -
https://xxx.slack.com/apps
のフォームからtravis
でインクリメントサーチ結果として表示されるTravis CI
を選択 - installボタンを押下
-
Post to Channel
でchannelを選択してAdd Travis CI integration
ボタンを押下
Travis CI側の設定
「Browse Apps > Travis CI > Edit configuration」の「Setup Instructions」をもとに設定。
表示されている内容(Token)をそのまま.travis.yml
に記載するとセキュリティに十分でないので、Travis CI command line clientを利用して認証情報を暗号化する。
install
$ gem install travis --no-rdoc --no-ri
login
特に必要ない?
参考サイトに記載があったので実行
$ travis login
We need your GitHub login to identify you.
This information will not be sent to Travis CI, only to api.github.com.
The password will not be displayed.
Try running with --github-token or --auto if you don't want to enter your password anyway.
Username: <username>
Password for <username>: ********
Successfully logged in as <username>!
Encrypting your credentials
$ travis encrypt "<team>:<token>" --add notifications.slack
Detected repository as {github repository}, is this correct? |yes| yes
もしfork
したプロジェクトだったり複数のリポジトリがあって一つのリポジトリを特定できない場合だったり?した場合は、明示的にリポジトリを指定する必要がある
$ travis encrypt "<team>:<token>" --add notifications.slack -r accountName/repoName
.travis.ymlの設定
上記の暗号化コマンドを実行すると.travis.yml
に以下の項目が追記される。
しかも空行やコメントが削除された。
.travis.yml
...
notifications:
slack:
secure: Eywg....
ちなみに特に暗号化コマンドを実行するディレクトリの指定はなく、たまたまプロジェクトルートで暗号化コマンドを実行したけど、適当なディレクトリだとしても追記されるんだろうか?