Фон
В этом посте я хотел бы поделиться с вами процессом, как запустить параметризованные сборки Дженкинса за брандмауэром.
Представьте, что ваш Jenkins находится за корпоративным брандмауэром, но все еще может получать веб -крючки от Github, Dockerhub и Microsoft Automate.
Я видел много сообщений, обсуждающих связанные темы, но большинство служб пересылки WebHook не могут пересылать параметры запроса, что означает, что они не имеют возможности запустить настройки Jenkins с параметрами.
Предварительные условия
- Учетная запись эстафеты WebHook — зарегистрировать здесь .
- Дженкинс Сервер
Процесс
Настройка реле Webhook
Создайте новое ведро Здесь Анкет Ведры позволяют группировать входы и выходы.
Недавно созданное ведро будет иметь вход по умолчанию, и вам нужно будет создать место для вывода, где будут отправлены веб -хуки.
Нажмите на Выход вывода
> Заполните свой обычай Выходное имя
> Заполните свой адрес сервера Jenkins в Выход вывода
> Нажмите Создать выход
# Output Destination Example # If your Jenkins allows anonymous users can have build access. http://192.168.0.200:8080 # If only authenticated users can have build access. http://username:token@192.168.0.200:8080
Нажмите Настройка
Под вашим выходным направлением> выключить Заблокировать путь назначения
> Нажмите на Сохранить
Анкет
Это позволит нам отправить любой дополнительный путь. ( xyz.hooks.webhookrelay.com/foo/bar -> 192.168.0.200:8080/foo/bar)
Настройка агента WebHookReLayd
Создайте токен доступа здесь. Токены доступа используются для аутентификации ретрансляционных агентов WebHook.
На виртуальной машине Jenkins или виртуальной машине, которая может говорить на сервере Jenkins, запустите агент Webhookrelayd.
Укажите конфигурацию через переменные среды:
KEY=SECRET= BUCKET=
Запустите контейнер WebHookReLayd:
docker run -d \ --name webhookrelayd \ --restart=unless-stopped \ webhookrelay/webhookrelayd
Теперь вернитесь к своей странице ведра, вы должны увидеть, что статус изменился на Клиент подключен
Анкет Если есть какие -либо проблемы, вы должны проверить свои журналы Docker.
Тестирование Дженкинса строит
Откройте свой терминал, позвольте нам проверить вашу сборку Jenkins.
Вот пример, когда запускает дженкинс нормально:
curl http://192.168.0.200:8080/job/demo/buildWithParameters?token=&env=dev&version=20210804&user=john.doe
При использовании реле Webhook он будет преобразован в следующий URL:
curl https://.hooks.webhookrelay.com/job/demo/buildWithParameters?token= &env=dev&version=20210804&user=john.doe
Вы также можете найти журналы реле Здесь Анкет
Оригинал: «https://dev.to/ericyi/triggering-jenkins-parameterized-builds-behind-a-firewall-367j»