Jenkins Интеграция с GitHub: Как установить плагин Git?
⚡ Умное резюме
Jenkins Интеграция с GitHub подключает сервер автоматизации к репозиторию исходного кода, позволяя автоматически собирать и проверять каждый коммит. Для подключения достаточно установить плагин Git, создать задание Freestyle, пройти аутентификацию с помощью токена и зарегистрировать веб-перехватчик.
Вы уже узнали, что Jenkins есть и как установить его на Windows системаПредполагая, что эти основные шаги выполнены, перейдем к управлению плагинами.
Jenkins Обладает превосходной поддержкой плагинов. Доступно более тысячи плагинов для сторонних приложений. Чтобы проверить, подходит ли он вам, Jenkins Если вас интересует стороннее приложение, найдите его в каталоге плагинов по адресу [ссылка на плагин]. https://plugins.jenkins.io/.
Установка плагинов в Jenkins
Jenkins Программа поставляется с довольно простой настройкой, поэтому вам потребуется установить необходимые плагины для включения поддержки каждого стороннего приложения.
GitHub — это веб-репозиторий кода, играющий важную роль в DevOps. Он предоставляет общую платформу для множества разработчиков, работающих над одним и тем же кодом или проектом, позволяя им загружать и получать обновленный код, тем самым облегчая непрерывную интеграцию.
Jenkins Для загрузки кода из репозитория GitHub необходимо установить плагин Git. Названия этих двух плагинов часто путают, поэтому в таблице ниже приведено их разделение:
| Плагин | Что это дает | Что необходимо для прохождения этого руководства? |
|---|---|---|
| плагин Git | идти опция в разделе Источник Code Управление, клонирование репозитория и выбор ветки. | Да — это самое главное. |
| Плагин GitHub | Обработка веб-хуков, Триггер хука GitHub опция, и статус сборки передается обратно в коммиты. | Только для автоматического запуска |
Вам не нужно устанавливать эти плагины, если вы уже приняли предложенные плагины во время процесса установки. Jenkins Настройка установки, поскольку плагин Git входит в этот набор. Если нет, вот как их установить и загрузить код из репозитория GitHub.
Как установить плагин Git Jenkins
Ниже приведена пошаговая инструкция по установке плагина Git. Jenkins:
Шаг 1: Откройте свою панель управления.
Нажмите на Управление Jenkins кнопка на вашем Jenkins панель приборов:
Шаг 2: Найдите опцию «Плагины».
Нажмите на Плагины. В настоящее время Jenkins Эта запись, содержащая релизы, помечена просто. ПлагиныБолее старые версии имели ту же маркировку на экране. Управление плагинами.
Шаг 3: На странице «Плагины» откройте Доступные плагины Нажмите клавишу Tab, а затем:
- Выберите идти плагин
- Нажмите Установить без перезагрузкиЗагрузка плагина занимает несколько минут, в зависимости от скорости вашего интернет-соединения, и устанавливается автоматически.
- Вместо этого вы можете выбрать Скачайте сейчас и установите после перезагрузки.в этом случае плагин применяется, когда Jenkins начинается следующее.
- Если плагин уже установлен, он отобразится на Установленная Вкладка, и обновление не предлагается.
Шаг 4: После установки плагинов перейдите по ссылке: Управление Jenkins > Плагины > УстановленныеВаши новые плагины отображаются среди остальных.
После установки плагина, Jenkins Теперь можно указать на реальный репозиторий.
Как интегрироваться Jenkins С помощью GitHub
Теперь мы рассмотрим процесс интеграции. Jenkins и GitHub на Windows система:
Шаг 1) Создать новую вакансию в Jenkins, Открой Jenkins панель управления на вашем Jenkins URL, например http://localhost:8080/и нажмите Новый элемент:
Шаг 2) Введите название товара, выберите тип задания и нажмите OK. В качестве примера мы создадим проект Freestyle.
Шаг 3) Когда вы нажмете OKПосле этого страница перенаправляет на форму настройки проекта. Введите информацию о проекте здесь:
Шаг 4) Вы увидите идти вариант под Источник Code Управление и менеджмент если плагин Git установлен в Jenkins:
Примечание: Если же линия индикатора идти Если опция не отображается, переустановите плагин и перезапустите систему. Jenkinsи снова войдите в панель управления. идти После этого опция станет видимой, как показано выше.
Шаг 5) Перейдите в репозиторий Git URL чтобы загрузить код с GitHub.
Шаг 6) При первом входе в репозиторий вы можете получить сообщение об ошибке. URL. Например:
Это происходит, когда Git не установлен на компьютере, на котором запущена программа. Jenkins. Jenkins Плагин не включает в себя собственный исполняемый файл Git; он вызывает исполняемый файл Git на хосте. Чтобы установить Git локально, перейдите по ссылке: https://git-scm.com/downloads.
Загрузите соответствующий установщик Git для вашей системы. Operating System - в этом случае Windows — и установить его на работающий компьютер. JenkinsВыполните инструкции на экране, чтобы завершить установку.
Шаг 7) Jenkins После установки Git на машину, Git сможет запускать репозитории Git. Для подтверждения установки откройте файл... командная строка, напишите gitНажмите Enter. Появится список параметров Git:
:: Confirm the Git executable resolves and report its version git --version :: Expected output git version 2.51.0.windows.1 :: Show the full path Jenkins should record in Global Tool Configuration where git
Это подтверждает, что Git установлен в вашей системе.
Примечание: Если Git уже установлен, добавьте его. git.exe путь под Управление Jenkins > Инструменты (с маркировкой) Глобальная конфигурация инструмента (в более старых версиях).
Шаг 8) После того, как все готово, добавьте Git. URL в Jenkins Снова. Сообщение об ошибке не появляется, что подтверждает это. Jenkins Интеграция с Git:
Теперь Git правильно настроен в вашей системе. На этом этапе произойдет клонирование публичного репозитория, но для частного по-прежнему потребуются учетные данные, что является следующим шагом.
Как пройти аутентификацию Jenkins С помощью персонального токена доступа GitHub
В августе 2021 года GitHub перестал принимать пароли учетных записей для операций Git. Предоставление имени пользователя и пароля в Git... Jenkins Поэтому при попытке доступа к любому частному репозиторию возникает ошибка аутентификации, даже если те же учетные данные используются для входа на веб-сайт GitHub. Персональный токен доступа заменяет пароль, и Jenkins хранит его в собственном хранилище учетных данных, а не в конфигурации задания.
Сначала создайте токен в GitHub:
- В GitHub откройте Настройки > Настройки разработчика > Токены личного доступа..
- Выбрать мелкозернистый по возможности используйте токен, поскольку его можно привязать к одному репозиторию или к чему-либо еще. классический Если вашей организации он по-прежнему необходим, предоставьте токен.
- Предоставьте доступ на чтение содержимого репозитория. Добавьте доступ на запись статуса коммита только тогда, когда это необходимо. Jenkins сообщать о результатах сборки и добавлять их в коммиты.
- Установите дату истечения срока действия и скопируйте токен немедленно — GitHub отобразит его ровно один раз.
Затем зарегистрируйте токен внутри Jenkins:
- Перейдите на Управление Jenkins > Учетные данные > Система > Глобальные учетные данные и нажмите Добавить учетные данные.
- Выбрать Имя пользователя и пароль как такой-то. Введите ваше имя пользователя GitHub и вставьте знак в поле для пароля.
- Присвойте записи понятный идентификатор, например:
github-patПоэтому его можно распознать на экранах настройки заданий. - Вернуться к заданию, открыть Источник Code Управление > Gitи выберите новые учетные данные из Полномочия падать.
Красная ошибка проверки в репозитории URL исчезает один раз Jenkins Аутентификация возможна. Стоит помнить о двух практических моментах. Во-первых, токены истекают; задача, которая стабильно выполнялась в течение нескольких месяцев и внезапно завершилась с ошибкой при извлечении, почти всегда связана с истекшим токеном, а не с неисправным репозиторием. Во-вторых, SSH-ключ — это допустимая альтернатива: добавьте закрытый ключ в качестве параметра. Имя пользователя SSH с закрытым ключом учетные данные и использовать git@github.com:owner/repo.git URL вместо формы HTTPS.
Как активировать Jenkins Автоматическая сборка с использованием веб-перехватчика GitHub.
Созданную выше задачу по-прежнему приходится запускать вручную, что сводит на нет цель непрерывной интеграции. Веб-хук устраняет этот пробел: GitHub отправляет HTTP-запрос на Jenkins при каждом нажатии, и Jenkins Сборка начинается немедленно.
Jenkins Для корректной работы необходимо, чтобы репозиторий был доступен из GitHub. На ноутбуке с установленным программным обеспечением. localhost:8080 Нет, это не так, поэтому либо хост Jenkins на публике URL или временно открыть его через туннельный сервис во время тестирования.
- Установите плагин GitHub. Вернуться Управление Jenkins > Плагины > Доступные плагины и установить GitHubЭто добавляет опцию запуска, которую сам по себе плагин Git не предоставляет.
- Включите триггер для задания. Откройте конфигурацию задания, прокрутите вниз до Триггеры сборки, и отметьте Триггер хука GitHub для опроса GITScm.
- Добавьте веб-хук в GitHub. В репозитории откройте Настройки > Веб-перехватчики > Добавить веб-перехватчик.
- Установите полезную нагрузку URL . Jenkins адрес, за которым следует
/github-webhook/В конце стоит косая черта. - Задайте тип контента в
application/json, а затем выбрать Только событие push. - Сохраните и протестируйте. GitHub отправляет ping немедленно. Зеленая галочка внизу. Недавние поставки означает Jenkins принял это.
# Payload URL format for the GitHub webhook https://jenkins.example.com/github-webhook/ # Content type application/json # Verify from the Jenkins host that the endpoint answers curl -I https://jenkins.example.com/github-webhook/
Отправьте коммит, чтобы подтвердить замыкание цикла. Задание должно появиться в очереди сборки в течение нескольких секунд без каких-либо действий вручную. Если ничего не происходит, откройте веб-хук в GitHub и прочитайте... Недавние поставки Код ответа: 403 обычно указывает на Jenkins Настройки безопасности блокируют анонимный доступ к конечной точке, а таймаут означает, что GitHub не может связаться с ней. Jenkins URL на всех.
После того как сборка запускается автоматически, оставшиеся проблемы обычно сводятся к нескольким повторяющимся ошибкам.
Общие Jenkins Ошибки и способы их исправления при интеграции с GitHub
Практически каждая неудачная интеграция попадает в одну из перечисленных ниже категорий, и каждая имеет характерный симптом, указывающий непосредственно на причину.
- В разделе «Источник» отсутствует опция Git. Code Управление: Плагин Git не установлен или не загружен. Переустановите его. Управление Jenkins > Плагины, начать сначала Jenkinsи перезагрузите страницу конфигурации задания.
- Ошибка «Не удалось подключиться к репозиторию» в общедоступной сети. URL: Git отсутствует в Jenkins хост. Установите Git, затем подтвердите установку с помощью
git --versionи запишите путь ниже Управление Jenkins > Инструменты. - Аутентификация в частном репозитории завершилась неудачей: Используется пароль учетной записи. Замените его персональным токеном доступа, как описано выше, или переключитесь на SSH-ключ.
- Сборка никогда не начинается после отправки изменений (push): либо Триггер хука GitHub Если флажок не отмечен, GitHub не может связаться с Jenkins URLПроверьте журнал доставки веб-хуков в настройках репозитория.
- Создана не та ветка: Спецификатор филиала по-прежнему сохраняет значение по умолчанию
*/masterв то время как репозиторий используетmain. Обновите спецификатор в соответствии с указанными параметрами. - Вчера оформление заказа работало, а сегодня нет: Срок действия персонального токена доступа истек. Сгенерируйте новый токен и обновите сохраненные учетные данные.
Также проверьте: лучший Jenkins Альтернативы (с открытым исходным кодом и платные) и Конвейер CI / CD пошаговое руководство, которое развивает установленную здесь связь.
















