Обновление dir сервера после нажатия на репозиторий gitlab

У нас есть следующая настройка — удаленный репозиторий с gitlab gui.

Наш веб-сервер расположен на другом сервере, и у нас есть ssh-доступ к нему. У нас также есть локальные копии нашего сайта для разработчиков, сейчас мы просто запускаем git и запускаем репозиторий в gitlab.

Моя цель состоит в том, чтобы автоматизировать процесс и при каждом нажатии на репозиторий gitlab обновлять каталог сервера с последними изменениями.

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

Я создал скрипт bash, который выполняет git pull после доступа к определенному файлу php.
Однако когда я поместил URL-адрес этого php-файла в раздел webhook в gitlab, ничего не произошло.

Если я получаю доступ к файлу вручную, набирая url в адресной строке, он работает нормально.
Когда я пытаюсь проверить ловушку, я получаю 500 ошибок и тайм-аут.

Любые рекомендации, как улучшить этот процесс или где я иду не так?

0

Решение

Webhook не просто отправляет запрос на получение по указанному URL, но также отправляет свои данные в виде JSON в необработанных данных.

Может ли ваш сценарий справиться с этим?
Посмотри на gitlab-webhook-push.php

0

Другие решения

Фактическая проблема заключалась в том, что gitlab не мог получить доступ к нашему домену и приводил к тайм-аутам, конечно, администраторы sys решили ограничить доступ из внешних источников без уведомления. Также стоит упомянуть, что необработанные данные JSON могут использоваться для более сложных решений, что довольно приятно.

0

По вопросам рекламы [email protected]