В гите есть готовый пример хука для этого, post-receive-email.
Документация — в начале файла.
Как устанавливать:
1. Подключаем файл
В документации рекомендуют вызывать этот файл из post-receive хука. Если вы можете найти у себя в системе нужный post-receive-email от гита, и удовлетворены его расположением, так и поступите (не забудьте, что файл должен иметь права на исполнения от имени пользователя, который делает push в репозиторий).
Иначе — тупо замените .git/hooks/post-receive в своём репозитории на post-receive-email. Не забываем про chmod +x и про то, что имя файла должно быть строго post-receive.
2. Настраиваем рассылку
Находясь внутри вашего репозитория выполните команды:
$ git config hooks.mailinglist "<адреса@куда.отправлять.почту, через@запятую>"
$ git config hooks.emailprefix "[Префикс к теме письма] "
$ git config hooks.envelopesender "от@кого.письмо"
Также рекомендую прописать описание проекта в .git/description (обратите внимание, что этот файл — не расшарен между репозиториями).
3. Проверяем
$ ./post-receive refs/heads/master OLD_SHA NEW_SHA
Вместо OLD_SHA и NEW_SHA вставляем два SHA1-хеша коммитов в репозитории ("голова" до имитируемого нами push и после него). Любуемся на текст письма.
Если всё работает, то тестируем отправку (на сервере должен быть настроен sendmail):
$ ./post-receive refs/heads/master OLD_SHA NEW_SHA | sendmail -t -f "$(git config hooks.envelopesender)"
Если письмо пришло, хук настроен.
Комментариев нет:
Отправить комментарий