Jenkins Інтеграція з GitHub: Як встановити плагін Git?
⚡ Розумний підсумок
Jenkins Інтеграція GitHub підключає сервер автоматизації до репозиторію вихідного коду, щоб кожен коміт міг бути зібраний та перевірений автоматично. Встановлення плагіна Git, створення завдання Freestyle, автентифікація за допомогою токена та реєстрація вебхука завершують підключення.

Ви вже дізналися, що Jenkins є і як це зробити встановити його на Windows системаПрипускаючи, що ці основні кроки виконано, тепер перейдемо до керування плагінами.
Jenkins має чудову підтримку плагінів. Доступно понад тисячу плагінів сторонніх додатків. Щоб перевірити, чи Jenkins підтримує сторонній застосунок, який ви маєте на увазі, знайдіть його в каталозі плагінів за адресою https://plugins.jenkins.io/.
Встановлення плагінів у Jenkins
Jenkins постачається з досить базовою конфігурацією, тому вам потрібно встановити необхідні плагіни, щоб увімкнути підтримку кожної сторонньої програми.
GitHub — це веб-репозиторій коду, який відіграє важливу роль у DevOps. Він надає спільну платформу для кількох розробників, які працюють над одним і тим самим кодом або проектом, для завантаження та отримання оновленого коду, тим самим сприяючи безперервній інтеграції.
Jenkins потребує встановлення плагіна Git, перш ніж він зможе отримувати код з репозиторію GitHub. Ці дві назви плагінів часто плутають, тому таблиця нижче розділяє їх:
| Підключати | Що це забезпечує | Обов'язково для цього покрокового керівництва? |
|---|---|---|
| Плагін Git | Команда Git опція в розділі «Джерело» Code Керування, клонування репозиторію та вибір гілок | Так — це найголовніше |
| Плагін GitHub | Обробка вебхуків, Тригер-гонок GitHub опція, а статус збірки повідомляється комітам | Тільки для автоматичного запуску |
Вам не потрібно встановлювати ці плагіни, якщо ви вже прийняли запропоновані плагіни під час Jenkins налаштування встановлення, оскільки плагін Git є частиною цього набору. Якщо ні, ось як встановити їх та витягнути код з репозиторію GitHub.
Як встановити плагін Git у Jenkins
Нижче наведено покрокову інструкцію щодо встановлення плагіна Git у Jenkins:
Крок 1: Відкрийте інформаційну панель.
Натисніть на керувати Jenkins кнопку на вашому Jenkins панель приладів:
Крок 2: Знайдіть опцію плагінів.
Натисніть Плагіни. На поточному Jenkins випускає цей запис позначено просто Плагіни; старіші випуски мали той самий екран Керування плагінами.
Крок 3: На сторінці плагінів відкрийте Доступні плагіни вкладку, а потім:
- Оберіть Git підключати
- Натисніть Встановити без перезавантаженняЗавантаження плагіна займає кілька хвилин, залежно від вашого інтернет-з’єднання, та встановлюється автоматично.
- Ви можете замість цього вибрати Завантажте зараз та встановіть після перезавантаження, і в цьому випадку плагін застосовується, коли Jenkins наступні починаються.
- Якщо плагін вже присутній, він відображається на встановлена вкладка, і оновлення не пропонується.
Крок 4: Після встановлення плагінів перейдіть до керувати Jenkins > Плагіни > ВстановленоВаші нові плагіни перелічені серед інших.
З встановленим плагіном, Jenkins тепер можна вказати на фактичне сховище.
Як інтегрувати Jenkins З GitHub
Тепер ми розглянемо процес інтеграції Jenkins та GitHub на Windows Система:
Крок 1) Створити нову роботу в Jenkins. Відкрийте Jenkins панель керування на вашому Jenkins URLНаприклад http://localhost:8080/, і клацніть Новий елемент:
Крок 2) Введіть назву елемента, виберіть тип завдання та натисніть кнопку OK. Для прикладу створимо проект Freestyle.
Крок 3) Після натискання OK, сторінка перенаправляє на форму конфігурації проекту. Введіть інформацію про проект тут:
Крок 4) Ви побачите Git опція під Source Code управління якщо плагін Git було встановлено в Jenkins:
Примітка: Якщо Git опція не відображається, перевстановіть плагін, перезавантажте Jenkinsі знову увійдіть до панелі керування. Git опція буде видимою, як показано вище.
Крок 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і натисніть 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
GitHub припинив приймати паролі облікових записів для операцій Git у серпні 2021 року. Надання імені користувача та пароля в Jenkins тому не вдається виконати спробу в будь-якому приватному репозиторії з помилкою автентифікації, навіть якщо ті самі облікові дані використовуються для входу на веб-сайт GitHub. Персональний токен доступу замінює пароль, і Jenkins зберігає його у власному сховищі облікових даних, а не в конфігурації завдання.
Спочатку створіть токен на GitHub:
- У GitHub відкрийте Налаштування > Налаштування розробника > Персональні токени доступу.
- Вибрати дрібнозернистий токен, де це можливо, оскільки його можна обмежити одним репозиторієм або classic токен, якщо вашій організації він все ще потрібен.
- Надайте доступ для читання вмісту репозиторію. Додайте доступ для запису статусу коміту лише тоді, коли це потрібно. Jenkins щоб повідомляти про результати збірки назад у коміти.
- Встановіть термін дії та негайно скопіюйте токен — GitHub відображає його лише один раз.
Потім зареєструйте токен всередині Jenkins:
- Перейдіть до керувати Jenkins > Облікові дані > Система > Глобальні облікові дані і натисніть кнопку Додати облікові дані.
- Виберіть Ім'я користувача з паролем як такий. Введіть своє ім'я користувача GitHub і вставте знак у поле пароля.
- Надайте запису чіткий ідентифікатор, наприклад
github-patщоб його можна було розпізнати на екранах конфігурації завдання. - Повернення до роботи, відкрите Source 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 to your 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.
- Збірки ніколи не починаються після натискання: або Тригер-гонок GitHub прапорець не позначено, або GitHub не може зв’язатися з Jenkins URLПеревірте журнал доставки вебхуків у налаштуваннях репозиторію.
- Побудована неправильна гілка: Специфікатор гілки все ще зберігає значення за замовчуванням
*/masterпоки репозиторій використовуєmainОновіть специфікатор відповідно. - Оплата працювала вчора, а сьогодні не вдається: Термін дії персонального токена доступу закінчився. Згенеруйте заміну та оновіть збережені облікові дані.
Також перевірте: кращий Jenkins Альтернативи (з відкритим кодом і платно) і Конвеєр CI/CD покрокове керівництво, яке базується на зв'язку, встановленому тут.















