Skip to main content

pre-receiveフックについて

この記事では、次の項目が扱われます。

"pre-receive フック" は GitHub Enterprise Server アプライアンス上で動作するスクリプトで、品質チェックを実装するために利用できます。

プッシュが行われると、各スクリプトは分離された環境で実行され、プッシュの内容についてのチェックを実行できます。 このスクリプトの終了ステータスが0ならプッシュは受け付けられ、0以外なら拒否されることになります。

使用シナリオ

pre-receiveフックは、ビジネスルールを満たしたり、規制の遵守を強制したり、一般的なミスを避けたりするために利用してください。

pre-receiveフックの利用方法の例:

  • 正当なチケット番号を含めたり、一定以上の長さでなければならなかったりといった特定のパターンやフォーマットに伴うコミットメッセージを要求する。
  • すべてのプッシュを拒否する事でブランチまたはリポジトリをロックする。
  • キーワード、パターン、またはファイルタイプをブロックすることにより、機密データがリポジトリに追加されないようする。
  • PRの作者が自身の変更をマージしないようにする。

パフォーマンスとワークフローへの影響

開発者と開発者のワークフローへの影響は大きくなりうるので、注意深く検討することが必要です。 ビジネス上の要求に基づき、思慮深く実装されたpre-receiveフックは、全体として組織に最大のメリットをもたらします。

pre-receive フックは your GitHub Enterprise Server instance のパフォーマンスに意図しない影響をもたらすことがあるため、慎重に実装して確認する必要があります。