Git фиксирует хуки на ветке - PullRequest
21 голосов
/ 16 июня 2011

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

Мой план состоит в том, чтобыGit-репозиторий с 3 ветками (разработка, подготовка и производство).Я хочу, чтобы коммиты в каждой из этих 3 веток запускали разные сценарии после фиксации.

Имеет ли git возможность сделать это или я лаю не на том дереве?

Заранее спасибо.

Ответы [ 2 ]

33 голосов
/ 16 июня 2011

в хуке пост-фиксации вы можете сделать следующее:

if [ `git rev-parse --abbrev-ref HEAD` == "development" ]; then
   echo "development-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "staging" ]; then
   echo "staging-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "production" ]; then
   echo "production-script"
fi
1 голос
/ 01 декабря 2013

Я написал скрипт для себя, чтобы выполнить эту функцию.

https://github.com/fotuzlab/githubdump-php

Разместите этот файл на своем сервере, желательно, чтобы он был root, и определите URL в github webhooks. Замените «allcommits» в строке 8 на имя вашего филиала и добавьте свой код / ​​функцию в строке 18.

Вам понадобятся отдельные файлы и веб-хуки для всех ваших 3 экземпляров.

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

...