Update custom_hooks.md for global custom hooks and chained hook info
https://gitlab.com/gitlab-org/gitlab-shell/merge_requests/93
This commit is contained in:
parent
a361eb2f19
commit
bc380e4848
1 changed files with 20 additions and 0 deletions
|
@ -42,6 +42,25 @@ Follow the steps below to set up a custom hook:
|
|||
That's it! Assuming the hook code is properly implemented the hook will fire
|
||||
as appropriate.
|
||||
|
||||
## Chained hooks support
|
||||
|
||||
> [Introduced][93] in GitLab Shell 4.1.0.
|
||||
|
||||
The hooks could be also placed in `hooks/<hook_name>.d` (global) or `custom_hooks/<hook_name>.d` (per project)
|
||||
directories supporting chained execution of the hooks.
|
||||
|
||||
The hooks are searched and executed in this order:
|
||||
1. `<project>.git/hooks/` - symlink to `gitlab-shell/hooks` global dir
|
||||
1. `<project>.git/hooks/<hook_name>` - executed by `git` itself, this is `gitlab-shell/hooks/<hook_name>`
|
||||
1. `<project>.git/custom_hooks/<hook_name>` - per project hook (this is already existing behavior)
|
||||
1. `<project>.git/custom_hooks/<hook_name>.d/*` - per project hooks
|
||||
1. `<project>.git/hooks/<hook_name>.d/*` - global hooks: all executable files (minus editor backup files)
|
||||
|
||||
Files in `.d` directories need to be executable and not match the backup file pattern (`*~`).
|
||||
|
||||
The hooks of the same type are executed in order and execution stops on the first
|
||||
script exiting with non-zero value.
|
||||
|
||||
## Custom error messages
|
||||
|
||||
> [Introduced][5073] in GitLab 8.10.
|
||||
|
@ -54,3 +73,4 @@ STDERR takes precedence over STDOUT.
|
|||
|
||||
[hooks]: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#Server-Side-Hooks
|
||||
[5073]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5073
|
||||
[93]: https://gitlab.com/gitlab-org/gitlab-shell/merge_requests/93
|
||||
|
|
Loading…
Reference in a new issue