この記事は CyberAgent 22 新卒 Advent Calendar 9日目の記事です。
こんにちはMr_Kです
最近GitHubとSlackで開発環境の設定をしたのでそのやり方をメモ的に書いていきます!!
#はじめに
今回なぜチーム開発環境の構築をしたかというと、
・大きなプロジェクトで開発環境の大切さを実感した
・ちょうど始まったチーム開発があったから
です。
いままでは マージのタイミングとかいちいち確認して~バグが出て~なんてことが日常でしたが...
####なんとかしたい!
ということでやってみました。
- 今回やりたいこと
- Gitのプルリクをスラックで通知したい
- プルリクのマージを承認されたときのみにしたい
##Gitのプルリクをスラックで通知したい
まずはGitHubとスラックをつないでいきます!
###手順
####1 スラックにGitHubアプリを入れる
https://slack.github.com/
↑このリンクから Add To Slack を押して下の画面に飛びます
右上のタブから好きなワークスペースにGitHubアプリを入れます
####2 コマンドをgithubアプリに送り、ログインする
AppのGitHubに /github signin ←これを送信
上の ConnectGitHubaccount をクリック
サインインしたら Entercode に表示されたコードを入力
####3 通知用チャンネルを作りGitHubアプリをチャンネルに追加
新しく通知用のチャンネルを作り
/github subscribe owner/repo
をチャンネルに送信
owner オーナー名
repo リポジトリ名
※ここでできない人はGitHubの Organization を設定しましょう。
これでスラックにプルリクの通知がきます!
プルリクをするとこんな感じ↓
ついでにコメントやレビューの通知も設定しましょう
通知の設定は /github subscribe owner/repo (通知名) で行えます
コメントやレビューの通知が欲しい時は
/github subscribe owner/repo reviews comments で設定できます。
##プルリクのマージを承認されたときのみにしたい
次はGitHub側の設定です
###手順
####1 リポジトリの setting branches を開く
Choose a branch... から保護するブランチを設定します
####2 各種設定をします
以下の2つにチェックを入れます
- Require pull request reviews before merging
マージ前にレビューを必須にするという設定です。
チェックを入れるとセレクトボックスがでてきて、人数を選べます
- Require status checks to pass before merging
CIなどでユニットテストを走らせて、それが通らないとマージできないようにする設定
下2つはチェックを外します
プルリクでの承認必須設定はこれで終わりです。
こんな感じにマージできなくなります
##さいごに
こんな感じで通知やマージのルールなどあらかじめ設定しておくとスムーズな開発ができそうですね!
ブランチの保護設定はほかの人がコードを見てくれたりするので、仕組み的にとっても良いと思います!