Привет, Хабросообщество! Продолжая тему использования git хуков, хочу рассказать про post-merge и post-checkout.
Что у нас есть?
У нас есть веб-приложение, которое мы разрабатываем.
Нам нужно быстро и легко добавлять изменения в продакшн
Что нам предлагает Git?
после слияния — Этот хук вызывается «git-merge» после того, как мы выполнили «git-pull» или «git-merge» в локальном репозитории.Хук не будет выполнен, если во время слияния возникнут конфликты.
после оформления заказа — Этот хук вызывается «git-checkout» после выполнения «git-clone» или «git-checkout».
Что мы делаем
Механизм развертывания будет примерно таким: 1. Поднимите git-сервер.Переносим всю разработку на git. Тестируемый код загружается в репозиторий 2. Пишем хуки, которые после развертывания будут делать то, что нам нужно.
В данном случае это хук после слияния.
3. Если мы хотим развернуть рабочую конфигурацию на чистом сервере, то пишем хук post-checkout Например, после развертывания нам нужно почистить какую-то папку и перезапустить Apache.
Давайте поместим этот скрипт в .#!/bin/bash /etc/init.d/apache2 stop find /path/to/folder -type f -delete /etc/init.d/apache2 start
git/hooks/post-merge. Мы выполняем git pull и этот скрипт выполняется То же самое касается и крючка после оформления заказа.
Плюсы:
- Быстрая доставка изменений в производство.
- Автоматизация
- Централизованное хранилище рабочего веб-проекта
Минусы:
- Эта схема не будет работать, если мы создадим новые ветки путем git checkout -b новая ветка
- Эта схема не будет работать, если мы вручную сливаем изменения в локальное хранилище.
И да, я знаю о Капистрано, Владе Развертывателе, Шефе (соло), Марионечке и других.
Теги: #git #git хуки #git
-
Хабра-Пользователь, Ты Кто?
19 Oct, 24 -
F#5: Операторы
19 Oct, 24 -
Как Превратить Старый Дом В Умный Дом
19 Oct, 24 -
Цб Обращает Внимание Банков На «Фишинг»
19 Oct, 24 -
Эстонский Горный Музей
19 Oct, 24