LoginSignup
12
9

More than 5 years have passed since last update.

図解: Travis CIの結果をSlack通知する方法

Last updated at Posted at 2017-08-25

とても参考になる記事

いい記事がすでにあるのになぜ書くのか?

個人的に、Slackの設定画面やメニューを選択するときに、いつもどこにあるか迷ってしまって時間がかかるので、
そうならないように、画像多めでやり方をメモします。

あと、破壊的な.travis.ymlの変更をせずにする方法の紹介です。

本題

まずは、ブラウザで https://<slack-team-name>.slack.com/apps を開きます

(僕の場合はぼっちチームなので<slack-team-name>が「nwtgck」というチーム名になので、https://nwtgck.slack.com/apps です)
Screen Shot 2017-08-25 at 9.42.28 am.png

「travis」と打ち込ので、出てきた「Travis CI」をクリックします

Screen Shot 2017-08-25 at 9.42.39 am.png

クリックすると、以下の画面になるので、緑色のボタン[Add Configuration]をクリックします
Screen Shot 2017-08-25 at 9.42.47 am.png

チャンネル選択画面になります

Screen Shot 2017-08-25 at 10.30.28 am.png

(任意)新しいチャンネルを作りたい場合は、
青字のリンク「or create a new channel」をクリックします。すると以下の画面になるので、今回は#ciチャンネルと言う名前でチャンネルを作りました

Screen Shot 2017-08-25 at 9.43.41 am.png

通知先のチャンネルを選択して、[Add Travis CI integration]をクリックします

Screen Shot 2017-08-25 at 10.28.41 am.png

クリックすると、以下のような画面になります

Screen Shot 2017-08-25 at 10.34.44 am.png

この画面にをスクロールするとTokenがあるのでどこかにコピーします
あとで使います

Screen Shot 2017-08-25 at 9.44.31 am.png
(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`に下記を追記します

.travis.yml
...(略)...
notifications:
  slack:
    secure: "R2ZgE3wUsc...(省略)....

notificationsキーは.yamlの直下に配置する感じです)

具体的にはtravis encryptのところは、以下ような感じです。
travis encrypt -r nwtgck/hspec-prac-haskell "nwtgck:XXXXXXXXXXXX"
(僕の場合はGitHubのユーザー名とSlackのチーム名が一緒なので注意してください)

これで完了です。次pushした時に、Slackに通知が来てたら成功です。

おまけ

メール通知無効化設定

.travis.ymlemail: falseを追加すればメール通知をオフにできます。

.travis.yml
...(略)...
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」をクリックします

Screen Shot 2017-08-25 at 9.42.39 am.png

クリック後にこの画面になったら、スクロールして、
Screen Shot 2017-08-25 at 9.42.47 am.png
(レスポンシブデザインなので、画面サイズによっては、スクロールせずに下のえんぴつボタンが押せます)

以下のえんぴつボタンを押せば、Tokenの手に入る画面に行きます。
Screen Shot 2017-08-25 at 10.41.28 am.png

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9