Назад | Перейти на главную страницу

Как добавить несколько хуков после получения в репозиторий git?

Я хотел бы добавить несколько сценариев перехвата post-receive в репозиторий git на моем собственном сервере. Например: запуск CI и публикация в резерве.

Как я могу добавить более одного скрипта?

У вас может быть только один сценарий пост-получения, поэтому вам придется использовать его для вызова нескольких сценариев.

На сервере в /PATH/TO/GIT.git/hooks/post-receive файл, поместите следующее:

#!/bin/bash
while read oldrev newrev refname; do
    for hook in $GIT_DIR/hooks/post-receive.d/*; do
        echo -e "\e[44m\e[97m Running hook: $hook \e[0m"
        echo $oldrev $newrev $refname | $hook
    done
done

exit 0

Затем поместите все сценарии после получения в новый post-receive.d/ каталог. Убедитесь, что файлы сценария исполняемые.

/PATH/TO/GIT.git/hooks/
└── post-receive.d
    └── SCRIPT1
    └── SCRIPT2