CI便利ですよね。職場では開発インフラチームがいい感じにしてくれています。今回は個人開発のプロジェクトにも導入したくなりました。 Travis CIをGitHubと・Slackに連携する方法を備忘のために説明します。
今回はGitHubのプライベートリポジトリをTravis CIと連携し、Pushしたタイミングでテストをして、結果をSlackに流すようにしました。
GitHubにリポジトリを作る
GitHubに連携したいリポジトリを作っておきましょう。
Travis CIをGitHub Apps登録をする
GitHub Apps Integrationというやつをします。 GitHubのPersonal settings/ApplicationsにTravis CIが追加されていることを確認できます。
連携するリポジトリを選択するか、アカウントに紐ついているもの全てにするかを選択することができます。 今回は先程作った該当リポジトリのみとしました。
SlackのTravis CIアプリを有効化
通知したいワークスペースでTravis CIアプリを有効化しましょう。 通知したいチャンネルを選んだ後で、yamlを修正してくれというメッセージが表示されます。クレデンシャルをそのまま書きたくないので、"Encrypting your credentials"の手順に沿って進めましょう。
travisコマンドのインストール
travisコマンドを使えるようにしましょう。Rubyは馴染みが無いですが、書かれている通り gem install travis -v 1.8.10 --no-rdoc --no-ri
で完了です。
travis-ci/travis.rb: Travis CI Client (CLI and Ruby library)
.travis.yml
をリポジトリに登録
Travis CIでは、yamlファイルで挙動を設定するようです。
今回は pip install
でインストールする rimeを使いたかったので、下記ファイルをプロジェクト直下に保存しました。
dist: bionic language: python cache: bundler python: - '3.7' install: - pip install -r requirements.txt script: - rime test notifications: slack: secure: いかにもな文字列
notifications.slack.secure
の部分は自動的に作成してくれます。
script
の結果がbuildの結果として返してくれるようです。
通知が飛んでくることを確認しましょう。