Автоматизация процесса слияния с помощью Git hooks

На список статей
Blog image

Защитите свои сайты с My-Sites-Guard.com!
Сервис обеспечивает надежную защиту ваших веб-ресурсов: мониторинг доступности сайта, контроль валидности сертификатов, а также возможность собирать и анализировать логи работы сервера. My-Sites-Guard.com — всё для сохранности вашего сайта и спокойствия в работе!

1. Настройка pre-commit hook для проверки кода

Для начала, давайте автоматизируем проверку кода перед коммитом. Это позволит избежать ошибок форматирования или стиля на ранней стадии.

Шаги для настройки:

  1. Откройте папку .git/hooks в вашем репозитории.
  2. Найдите файл pre-commit.sample и переименуйте его в pre-commit.
  3. Откройте этот файл в текстовом редакторе и добавьте следующее содержимое:
#!/bin/sh
# Скрипт для проверки стиля кода с помощью lint
echo "Проверка стиля кода перед коммитом..."
npm run lint
if [ $? -ne 0 ]; then
 echo "Проверка не пройдена. Исправьте ошибки и попробуйте снова."
 exit 1
fi

Теперь перед каждым коммитом будет автоматически запускаться проверка стиля кода. Если проверка не пройдёт, коммит не будет создан.

2. Использование post-merge hook для запуска тестов

Следующим шагом можно настроить запуск тестов после слияния веток. Это полезно, чтобы убедиться, что интеграция новой ветки не сломала приложение.

Шаги для настройки:

  1. В папке .git/hooks создайте файл post-merge (если его нет).
  2. Добавьте в этот файл следующий код:
#!/bin/sh
# Скрипт для автоматического запуска тестов после слияния
echo "Запуск тестов после слияния..."
npm test
if [ $? -ne 0 ]; then
 echo "Тесты не пройдены. Проверьте ошибки."
 exit 1
fi

После этого каждый раз, когда вы будете сливать ветки, автоматически будут запускаться тесты, что позволит быстрее обнаруживать возможные ошибки.

3. Настройка pre-push hook для проверки состояния перед отправкой изменений

Pre-push hook можно использовать для того, чтобы убедиться, что на сервер не будут отправлены изменения с ошибками.

Шаги для настройки:

  1. Создайте файл pre-push в папке .git/hooks.
  2. Добавьте в него следующий код:
#!/bin/sh
# Скрипт для запуска тестов перед отправкой изменений на сервер
echo "Запуск тестов перед отправкой..."
npm test
if [ $? -ne 0 ]; then
 echo "Тесты не пройдены. Отправка отменена."
 exit 1
fi

Теперь перед отправкой ваших изменений на удалённый репозиторий будет выполняться проверка состояния проекта.

Комментарии

Пока нет комментариев

Добавить комментарий