Рубрики
Uncategorized

Как добавить github webhook в Дженкинс

Введение, используя GitHub Webhooks, вы можете заставить Jenkins строить каждый коммит. Это руководство … с меткой GitHub, WebDev, Jenkins, DevOps.

Введение

Используя GitHub Webhooks, вы можете заставить Jenkins строить каждый коммит. Это руководство покажет вам как.

Что такое WebHooks?

Webhooks подобны API в обратном порядке. С помощью API вы делаете запросы поставщику API. Webhooks обращают вспять этот поток.

Вместо того, чтобы вы делали запрос поставщику API, поставщик Webhook делает вам просьбу. Ваш код получает запрос, затем что -то с ним делает. Примерами запросов WebHook будет полоска, отправляющая вам уведомление о новом платеже или IFTTT, отправив вам уведомление о новом твите из вашей учетной записи Twitter.

Эта диаграмма представляет собой быстрый обзор высокого уровня того, как работают Webhooks

Убедитесь, что у вас есть установлен плагин Jenkins GitHub

Если у вас его еще нет, установите плагин Jenkins Github: https://plugins.jenkins.io/github/ Анкет

Настройте филиал Jenkins для строительства на коммите

Следите за документацией в https://plugins.jenkins.io/github/ Чтобы настроить филиал для строительства на GitHub Commit.

Начните Дженкинс на местном уровне

Начните Дженкинс на местном уровне, так что вы работаете на Localhost Анкет

Настройте GitHub для отправки Webhooks в Дженкинс

Чтобы настроить веб -крючок, перейдите на страницу настроек вашего репозитория. Оттуда нажмите Webhooks, затем добавьте WebHook.

Вы увидите такую страницу:

Заполните всю форму, как показано на изображении, за исключением URL -адреса полезной нагрузки.

URL -адрес полезной нагрузки — это то, где GitHub отправит полезную нагрузку на ваш сервер.

Дженкинс работает на Localhost Итак, если вы новичок в Webhooks, вы можете подумать, что можете положить Localhost там. Однако это не сработает. Это потому, что GitHub не видит вашего Localhost Анкет

Всякий раз, когда что -то запрашивает Localhost , он отправляет запрос себе. Вот почему, когда ты нажимаешь Localhost В вашем браузере вы можете получить доступ к локальному управлению серверами, таким как Дженкинс. Поэтому, если вы поместите туда Localhost, Github просто отправит себе запрос, и он никогда не достигнет вашего сервера Jenkins.

Вы можете развернуть свою новую настройку Jenkins на удаленный сервер и получить публичный URL таким образом, но для настройки и настройки потребуется много времени.

Вместо этого мы можем использовать простой инструмент, который я создал под названием разоблачить Чтобы дать вашему компьютеру публичный URL.

Установите выставку

Для Mac или Linux, перейдите к Expose.sh и скопируйте/вставьте код установки, показанный в терминал.

Для окон и перейти к Expose.sh Загрузите двоичный файл и поместите его где -нибудь на своем пути.

Разоблачить Дженкинса в Интернет

Запустить разоблачить где порт находится порт, на котором работает ваш сервер API, например, 80 или 8080.

Если у вас есть Дженкинс, работающий на порту 80, это будет разоблачить 80 Анкет

Expose.sh будет генерировать случайный URL -адрес Public.sh. Вы увидите вывод, как это:

expose 80
http://m2hh3u.expose.sh is forwarding to localhost:80
https://m2hh3u.expose.sh is forwarding to localhost:80

Возьмите сгенерированный URL и поместите его в поле URL -адреса полезной нагрузки, затем нажмите кнопку «Добавить webhook» внизу в нижней части формы.

Соберите свою главную филиал

Соберите посвятить себя Мастер ветвь вашего GitHub Repo. Это должно вызвать Commit Webhook обратно в Дженкинс, и ваш филиал должен начать строить. Теперь у вас есть рабочая интеграция.

Пользовательские субдомены

Использование пользовательского поддомена (например, myapi.expose.sh ) спасет вас от необходимости перенастроить свой URL каждый раз в GitHub.

Expose.sh может свободно использовать для случайно сгенерированных субдомен. Если вы хотите использовать свои собственные поддомены, такие как myapi.expose.sh Вы можете сделать это всего за 4,99 долл. США в месяц в зависимости от того, сколько доменов вы хотите использовать.

Как правило, это хорошее время против инвестиций в денежные средства, учитывая почасовую ставку большинства людей, которые используют экспонирование .sh для работы.

Вот пример с использованием пользовательского поддомена, вы можете Зарегистрируйтесь здесь Анкет

expose 80 as mysite.expose.sh
https://mysite.expose.sh is forwarding to localhost:80
http://mysite.expose.sh is forwarding to localhost:80

Вывод

Как вы можете видеть, использование expose.sh для проверки интеграции WebHook намного быстрее, чем сделать это с помощью удаленного сервера. Expose.sh может свободно использовать для случайных субдомен. Вы можете использовать пользовательские домены всего за 4,99 доллара в месяц.

Счастливого кодирования!

Оригинал: «https://dev.to/ciphercode/how-to-add-a-github-webhook-to-jenkins-5f34»