とても参考になる記事
いい記事がすでにあるのになぜ書くのか?
個人的に、Slackの設定画面やメニューを選択するときに、いつもどこにあるか迷ってしまって時間がかかるので、
そうならないように、画像多めでやり方をメモします。
あと、破壊的な.travis.yml
の変更をせずにする方法の紹介です。
本題
まずは、ブラウザで https://<slack-team-name>.slack.com/apps を開きます
(僕の場合はぼっちチームなので<slack-team-name>が「nwtgck」というチーム名になので、https://nwtgck.slack.com/apps です)
「travis」と打ち込ので、出てきた「Travis CI」をクリックします
クリックすると、以下の画面になるので、緑色のボタン[Add Configuration]をクリックします
チャンネル選択画面になります
(任意)新しいチャンネルを作りたい場合は、
青字のリンク「or create a new channel」をクリックします。すると以下の画面になるので、今回は#ciチャンネルと言う名前でチャンネルを作りました
通知先のチャンネルを選択して、[Add Travis CI integration]をクリックします
クリックすると、以下のような画面になります
この画面にをスクロールするとTokenがあるのでどこかにコピーします
あとで使います
(Tokenが丸見えで心配な方もいらっしゃるかもしれませんが、Regenrateしたので大丈夫なはずです)
今度はターミナルを開いて
$ gem install travis
$ travis login # ユーザー名とパスワードを入力してください
$ travis encrypt -r <github-username>/<repo-name> "<slack-team-name>:<token>"
そして、以下のtravis encrypt
の出力結果のsecure: "R2ZgE3wUsc..
の箇所を使って、
Please add the following to your .travis.yml file:
secure: "R2ZgE3wUsc...(省略)....
.travis.yml`に下記を追記します
...(略)...
notifications:
slack:
secure: "R2ZgE3wUsc...(省略)....
(notifications
キーは.yamlの直下に配置する感じです)
具体的にはtravis encrypt
のところは、以下ような感じです。
travis encrypt -r nwtgck/hspec-prac-haskell "nwtgck:XXXXXXXXXXXX"
(僕の場合はGitHubのユーザー名とSlackのチーム名が一緒なので注意してください)
これで完了です。次pushした時に、Slackに通知が来てたら成功です。
おまけ
メール通知無効化設定
.travis.yml
にemail: false
を追加すればメール通知をオフにできます。
...(略)...
notifications:
email: false
slack:
secure: "R2ZgE3wUsc...(省略)....
破壊的な.travis.ymlの更新について
travis encrypt
に--add notifications.slack
オプションを付けて、プロジェクトルートで実行すると、自動的にnotification.slack.secure
項目を追加しくれるのですが、.travis.yml
のコメント等が消えてしまうので、避けています。
Tokenが後から欲しい時
Tokenの画面を閉じってしまったときに、どうやって辿ればいいかです。
作ったときと最初だけ同じ感じです。
まず、ブラウザで https://<slack-team-name>.slack.com/app を開きます。
「travis」と打ち込んで、出てきた「Travis CI」をクリックします
クリック後にこの画面になったら、スクロールして、
(レスポンシブデザインなので、画面サイズによっては、スクロールせずに下のえんぴつボタンが押せます)