による Sytse Sijbrandijの回答で述べられ、「GitLab Enterprise Edition」ページで詳しく説明されているように、GitLab EE は現在以下をサポートしています。
Git フック ルール(コミット メッセージで問題を言及する必要がある、タグの削除を防止するなど)
ただし、これはコミュニティ エディション (CE) ではなく、エンタープライズエディション (EE) です。
後者については、私の元の回答を参照してください。
元の回答 (2013 年 8 月)
pre-receive
gitlab が管理するベア リポジトリにプッシュされたコミットをブロックするフックを追加できます。
ただし、そのスレッドが示すように、GitLab を介して作成された新しいプロジェクト (およびリポジトリ) にそのフックを追加することは困難です。
GitLab はもう gitolite を使用していないため、これを行うための簡単またはネイティブな方法はありません (現在 5.X および 6.0)。
今のところ、hooks ディレクトリにフックを投げて、https://github.com/gitlabhq/gitlab-shell/blob/master/lib/gitlab_projects.rb#L46gitlab-shell
を変更して反映させることができます。
Gitlab-Shell/lib/gitlab_projects.rb
def create_hooks_cmd
pr_hook_path = File.join(ROOT_PATH, 'hooks', 'post-receive')
up_hook_path = File.join(ROOT_PATH, 'hooks', 'update')
"ln -s #{pr_hook_path} #{full_path}/hooks/post-receive && ln -s #{up_hook_path} #{full_path}/hooks/update"
end
そこに私たち自身の集中化されたフックを取得します。