2016-09-30 12 views
2

gitlabでpre-commitフックを使いたいです。私はドキュメントで同じようにすべてをやって:https://docs.gitlab.com/ce/administration/custom_hooks.htmlGitlab pre-commitフック

custom_hooksディレクトリには、私が作成したfolowingコンテンツにファイルを事前にコミット:

#!/bin/bash 

exit 1 

フックがトリガーされることはありません、私はコミットすることができますカウスを。

私がpre-receiveフックで同じことをするとき - すべてがうまくいきます。

Gitlabでプリコミットフックを使用できない場合は、

+0

解決 - 事前にコミットクライアント側のフックで、.git /フックに格納する必要がありますクライアントマシン上の場所(私の場合はWindows)。リポジトリを複製するときは、クライアント側のフックはコピーされないことに注意することが重要です。私はサーバー側のフックを使ってすべてをやろうとします。 –

答えて

2

Customizing Git - Git Hooksで説明されているように、クライアント側のフックはサーバー上で使用されません。

は私が前に説明し、クローンでフックを含めることはできません理由:

Since GitLab 7.5、することができますset custom Git Hooksのサーバー側のフック。

異なるアクションで実行されるフックをネイティブにサポートしています。サーバー側gitフックの例には、pre-receive、post-receive、およびupdateが含まれます。

通常、Gitフックはリポジトリまたはプロジェクトのhooksディレクトリに配置されます。 GitLabはgitlabシェルのアップグレードの間、メンテナンスの容易さのためにgitlabシェルhooksディレクトリに各プロジェクトのhooksディレクトリからシンボリックリンクを作成します