LINUX.ORG.RU
решено ФорумAdmin

Посоветуйте развернутый ман по хукам.

 


0

1

Я опять ковыряюсь с git'ом, да. Такой вопрос: можно ли перед скачиванием репозитория (через git pull) и после скачивания выполнять какие-то системные команды? Я так понимаю, это должно как-то делаться через хуки.
Элементарно: если скачиваем из центрального репозитория конфиги какого-либо сервиса - сначала остановить его, потом собственно скачать, потом запустить сервис?
И, в идеале, хотелось бы получить не конкретный ответ на этот вопрос, а ссылку на какую-нибудь статью, где подробно разжевываются подобные вещи.

если скачиваем из центрального репозитория конфиги какого-либо сервиса - сначала остановить его, потом собственно скачать, потом запустить сервис?

Коммиты должны сами прилетать, их не надо «скачивать». Получается лишняя работа — ты изменения закоммить, да ещё потом на сервер скачай. Или подожди пока крон их скачает. Нафига это? Зачем останавливать сервис перед апдейтом конфигов? А если не наложится, сколько сервис будет лежать, пока кто-то руками не смержит? Ну хорошо, у нас конфиги отправляются в свой GIT_WORK_TREE, который каждый раз перетирается заново, всё равно зачем останавливать сервис, он с поменяными конфигами работать перстанет? Я не знаю таких сервисов, которые бы оперативно, в реалтайме регировали на изменения, обычно для этого надо сделать reload/restart.

а ссылку на какую-нибудь статью, где подробно разжевываются подобные вещи.

Хуки — обычные баш-скрипты. А в них каждый велосипедит как хочет.

Deleted
()
Ответ на: комментарий от Deleted

Коммиты должны сами прилетать, их не надо «скачивать».

Хм. Коммиты прилетают в центральный репозиторий, который выполняет роль хранилища конфигов. Боевой сервер - это отдельная машина, изменения туда переходят после тестирования. Можно, конечно, делать git commit на боевой сервер, но мне удобней делать с него git pull, как-то так сложилось.

Я не знаю таких сервисов, которые бы оперативно, в реалтайме регировали на изменения, обычно для этого надо сделать reload/restart.

У меня именно такой, он автоматически рестартится при изменении конфига.

Хуки — обычные баш-скрипты. А в них каждый велосипедит как хочет.

Это-то понятно. Мне скорее нужно разобраться, какой хук на какой стадии выполняется.

strangeman ★★★★
() автор топика
Ответ на: комментарий от strangeman

но мне удобней делать с него git pull

Git — распределённая система. Её плюс в том, что когда ты пишешь

git push runningserver master:refs/heads/master
Ты отправляешь изменения на runningserver, а когда
git push testingserver master:refs/heads/master
????? PROFIT!

Мне скорее нужно разобраться, какой хук на какой стадии выполняется.

В man 5 githooks вроде всё доходчиво написано. Конкретные вопросы будут сегодня?

Deleted
()
Ответ на: комментарий от Deleted

В man 5 githooks вроде всё доходчиво написано. Конкретные вопросы будут сегодня?

Да нет пока, уже и так появилась информация для размышления. Да, man 5 githooks это то что надо.

strangeman ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.