Webhooks для ветвления в Gitlab


Есть ли способ запускать Webhook всякий раз, когда ветка обновляется в Git/Gitlab?

Я пытаюсь настроить рабочий процесс разработки. Первоначальная идея состояла в том, чтобы иметь хранилище для каждой фазы кодирования - например, хранилище для разработки, хранилище для тестирования, хранилище для производства.

Дело в том, что мне нужно, чтобы действия происходили после изменения главной ветви. Например, если репозиторий разработки обновляется, то код разработки должен быть "клонирован", т. е.exe создается файл, который затем помещается в каталог "разработка" для тестирования.

В идеале, как только разработка идет хорошо, вы "продвигаете" код к "тестированию". Если "тестирование" идет хорошо, то вы продвигаете код в "производство".

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

Все примеры, которые я видел, относятся к ветвям разработки, тестированию ветви и" производственная " ветвь фактически является главной ветвью хранилища.

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

Для того, чтобы это произошло, Webhook должен выстрелить, чтобы можно было предпринять соответствующие действия для выполнения вышеперечисленных задач (отсюда и причина, по которой я задаю свой вопрос).

Итак-еще раз - как можно заставить веб-крючок выстрелить, когда конкретные~ ветви ~ изменения в репозитории?

2 4

2 ответа:

Как можно заставить Webhook сработать, когда конкретная ветвь ~ изменяется в репозитории?

Это выглядит как выпуски 1176

Если вы посмотрите на опубликованные данные, у вас есть

:ref => "refs/heads/master",

Webhooks работает, отправляя запрос POST в скрипт, с полезной нагрузкой, описывающей push.

Вам нужен сервис, который слушает этот веб-хук.

Если вы используете сервер Дженкинса, вы можете иметь ветвь плагина Дженкинса GitLab фильтрация " для вашего веб-крючка, на который нужно указать.

Build trigger -- > Build, когда изменение передается в GitLab. -- >Дополнительно - > разрешенные ветви - > фильтровать ветви по имени -> в поле Включить введите имя ветви, для которой вы хотите запустить задание сборки (обратите внимание, напишите имя ветви без */ )

Я заметил, что даже после ввода правильного имени ветви он все равно выдает сообщение "следующие шаблоны не соответствуют ни одной ветви в репозитории исходного кода:" Вы можете игнорировать это и протестировать свой webhook. Он работал для меня.