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

Перехватчик Git post-commit / post-receive не работает

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

Поскольку мое репо находится в /opt/myrepo.git, я создал сценарии /opt/myrepo.git/hooks/post-commit.

когда я выполняю какую-либо фиксацию репо, вышеуказанный сценарий должен запускаться, но это не так. Я написал в нем простые команды Echo, чтобы проверить его вывод в файл, но он вообще не запускается.

Помимо использования post-hook, вы должны убедиться, что ваш файл-hook исполняемый. Поэтому взгляните на права доступа к файлу и убедитесь, что вы изменили файл на + x.

chmod a+x post-receive

обработчик post-receive должен выполняться git. Если это не исполняемый файл, то git вам не сообщит.

Также убедитесь, что первая строка - #! / Bin / sh

Надеюсь это поможет

Для пушей вы должны использовать ловушку после получения, а не после фиксации.

Я сделал ту же ошибку из-за странного соглашения об именах