Webhooks для ветвления в Gitlab
Есть ли способ запускать Webhook всякий раз, когда ветка обновляется в Git/Gitlab?
Я пытаюсь настроить рабочий процесс разработки. Первоначальная идея состояла в том, чтобы иметь хранилище для каждой фазы кодирования - например, хранилище для разработки, хранилище для тестирования, хранилище для производства.
Дело в том, что мне нужно, чтобы действия происходили после изменения главной ветви. Например, если репозиторий разработки обновляется, то код разработки должен быть "клонирован", т. е.exe создается файл, который затем помещается в каталог "разработка" для тестирования.
В идеале, как только разработка идет хорошо, вы "продвигаете" код к "тестированию". Если "тестирование" идет хорошо, то вы продвигаете код в "производство".
Проблема заключается в том, что нет способа "продвигать" код между репозиториями. Единственное, что доступно, - это возможность объединить нижнюю ветвь с более высокой.
Все примеры, которые я видел, относятся к ветвям разработки, тестированию ветви и" производственная " ветвь фактически является главной ветвью хранилища.
OK-Я могу принять это; однако в этом случае мне нужно будет скомпилировать код разработки на основе ветви разработки, тестовый код на основе ветви тестирования и т. д.
Для того, чтобы это произошло, Webhook должен выстрелить, чтобы можно было предпринять соответствующие действия для выполнения вышеперечисленных задач (отсюда и причина, по которой я задаю свой вопрос).
Итак-еще раз - как можно заставить веб-крючок выстрелить, когда конкретные~ ветви ~ изменения в репозитории?
2 ответа:
Как можно заставить Webhook сработать, когда конкретная ветвь ~ изменяется в репозитории?
Это выглядит как выпуски 1176
Если вы посмотрите на опубликованные данные, у вас есть
:ref => "refs/heads/master",
Webhooks работает, отправляя запрос POST в скрипт, с полезной нагрузкой, описывающей push.
Вам нужен сервис, который слушает этот веб-хук.
Если вы используете сервер Дженкинса, вы можете иметь ветвь плагина Дженкинса GitLab фильтрация " для вашего веб-крючка, на который нужно указать.
Build trigger -- > Build, когда изменение передается в GitLab. -- >Дополнительно - > разрешенные ветви - > фильтровать ветви по имени -> в поле Включить введите имя ветви, для которой вы хотите запустить задание сборки (обратите внимание, напишите имя ветви без */ )
Я заметил, что даже после ввода правильного имени ветви он все равно выдает сообщение "следующие шаблоны не соответствуют ни одной ветви в репозитории исходного кода:" Вы можете игнорировать это и протестировать свой webhook. Он работал для меня.