@gerrrper

Как в gitlab создать hook, чтобы среагировать на commit ?

Я так понимаю, мне нужен web-hook. Но в панели есть только service-hook, окторый предлагает мне добавить URL.
Сначала я подумал, что gitlab убдет слать данные на этот URL - но это не так.
Мне надо следить за комитами, и реагировать на каждый. Как мне это сделать?
  • Вопрос задан
  • 7888 просмотров
Решения вопроса 1
Serhioromano
@Serhioromano
Web Developer
Ну на сервере где у вас сайт, делаете скрипт который запускает команду git pull. И на этот скрипт урл добавляете. Сервис хук просто гарантирует что после комита в репозиторию на этот урл будет отправлен реквест. А вы уж сами его обработайте.

Вот пример. Это примитивно. Так делать нельзя. Это не безопастно. Просто что бы объяснить идею. В сервис хуках ставите урл

mysite/git.php

На сайте сздаете файл git.php

<?php
exec('git pull');


Как то так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
risik
@risik
Программист
Добавлю немного к ответу @Serhioromano

Я, могу предположить, что у Вас для деплоя используется какой нибудь CI/CD сервер. У этого сервера должна быть возможность запускать джобу по внешнему событию. Это внешнее событие генерируется, например, при помощи обращения по определеному урлу. Возможно, по этому урлу даже надо передать какой-то аутентификационный ключ, который генерируется этим CI сервером. Теперь у Вас есть УРЛ, который надо дернуть для выполнения сборки.

Именно этот урл Вы указываете в GitLab.
Ответ написан
@adisos
https://developer.github.com/webhooks/securing/ - это на sinatra
https://gist.github.com/adisos/becda706373ad3d60da7 - вот моё решение под nodejs(используется restify)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы