Использование Git Как Инструмента Для Развертывания Веб-Приложения

Привет, Хабросообщество! Продолжая тему использования 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 хуки #git

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.