drone.io テストが通ってないプルリクエストのマージを禁止したい
この記事は drone.io Advent Calendar 2017 - Adventar の5日目の記事です。
drone.io は Goで作られたオープンソースのCD (Continuous Delivery)環境です。
テストが通ってないプルリクエストのマージを禁止したい
Github Entepriseと連携しているとプルリクエストにビルドの状態も表示され便利です。
しかしこのままだとビルドが通っていなくてもマージできてしまいます。
Protected branches を利用する
GitHub Enterprise には「Protected branches」と呼ばれる機能があり、特定のブランチへのマージ、プッシュを制限することができます。リポジトリのSettings
から設定できます。
今回はmasterをデフォルトブランチとして設定した場合の例をご紹介します。
Require status checks to pass before merging
にチェックを入れるとテストが通った場合のみマージできるようになります。
Include administrators
にもチェックを入れておけば管理者を含め全員にこの制約を強制することができます。