Jenkins Integracija s GitHubom: Kako instalirati Git dodatak?
โก Pametni saลพetak
Jenkins GitHub integracija povezuje automatizacijski posluลพitelj s izvornim repozitorijem tako da se svaki commit moลพe automatski izraditi i provjeriti. Instaliranje Git dodatka, stvaranje Freestyle posla, autentifikacija tokenom i registracija webhooka dovrลกavaju vezu.

Veฤ si nauฤio/la ลกto Jenkins je i kako instalirajte ga na Windows sistemPod pretpostavkom da su ti osnovni koraci dovrลกeni, sada ฤemo prijeฤi na upravljanje dodacima.
Jenkins ima izvrsnu podrลกku za dodatke. Dostupno je preko tisuฤu dodataka za aplikacije treฤih strana. Da biste provjerili je li Jenkins podrลพava aplikaciju treฤe strane koju imate na umu, pretraลพite direktorij dodataka na https://plugins.jenkins.io/.
Instalacija dodataka u Jenkins
Jenkins dolazi s priliฤno osnovnim postavkama, tako da morate instalirati potrebne dodatke kako biste omoguฤili podrลกku za svaku aplikaciju treฤe strane.
GitHub je web-bazirani repozitorij koda koji igra glavnu ulogu u DevOpsu. Pruลพa zajedniฤku platformu za viลกe programera koji rade na istom kodu ili projektu za prijenos i dohvaฤanje aลพuriranog koda, ฤime se olakลกava kontinuirana integracija.
Jenkins Potrebno je instalirati Git dodatak prije nego ลกto moลพe preuzeti kod iz GitHub repozitorija. Nazivi dva dodatka se ฤesto brkaju, pa ih tablica u nastavku razdvaja:
| Plugin | ล to pruลพa | Obavezno za ovaj vodiฤ? |
|---|---|---|
| Git dodatak | The iฤi opcija pod Izvor Code Upravljanje, kloniranje repozitorija i odabir grana | Da - ovo je bitno |
| Dodatak za GitHub | Rukovanje webhookom, Okidaฤ hook-a na GitHubu opcija i status izgradnje koji se izvjeลกtava natrag u commite | Samo za automatsko okidanje |
Ne morate instalirati ove dodatke ako ste veฤ prihvatili predloลพene dodatke tijekom Jenkins postavljanje instalacije, buduฤi da je Git dodatak dio tog seta. Ako nije, evo kako ih instalirati i izvuฤi kod iz GitHub repozitorija.
Kako instalirati Git dodatak u Jenkins
Slijedi korak-po-korak postupak instalacije Git dodatka u Jenkins:
Korak 1: Otvorite svoju nadzornu ploฤu.
Kliknite na upravljati Jenkins gumb na vaลกem Jenkins nadzorna ploฤa:
Korak 2: Pronaฤite opciju dodataka.
Kliknite na DodaciTrenutno Jenkins izdanja ovaj unos je oznaฤen jednostavno Dodacistarija izdanja oznaฤena istim zaslonom Upravljanje dodacima.
Korak 3: Na stranici Dodaci otvorite Dostupni dodaci kartica, a zatim:
- Odaberite iฤi ukljuฤiti
- Kliknite Instalirajte bez ponovnog pokretanjaPreuzimanje dodatka traje nekoliko trenutaka, ovisno o vaลกoj internetskoj vezi, i instalira se automatski.
- Umjesto toga moลพete odabrati Preuzmite sada i instalirajte nakon ponovnog pokretanja, u kojem sluฤaju se dodatak primjenjuje kada Jenkins sljedeฤi poฤinje.
- Ako je dodatak veฤ prisutan, pojavljuje se na Instalirani kartica i ne nudi se aลพuriranje.
Korak 4: Nakon ลกto su dodaci instalirani, idite na upravljati Jenkins > Dodaci > InstaliranoVaลกi novi dodaci navedeni su meฤu ostalima.
S instaliranim dodatkom, Jenkins sada se moลพe usmjeriti na stvarno spremiลกte.
Kako se integrirati Jenkins S GitHubom
Sada ฤemo proฤi kroz proces integracije Jenkins i GitHub na Windows Sustav:
Korak 1) Stvori novi posao u Jenkins, Otvori Jenkins nadzorna ploฤa na vaลกem Jenkins URL, Na primjer http://localhost:8080/, i kliknite Nova stavka:
Korak 2) Unesite naziv stavke, odaberite vrstu posla i kliknite OK. Napravit ฤemo Freestyle projekt kao primjer.
Korak 3) Nakon ลกto kliknete OK, stranica preusmjerava na obrazac za konfiguraciju projekta. Ovdje unesite podatke o projektu:
Korak 4) Vidjet ฤete iฤi opcija pod izvor Code Upravljanje ako je Git dodatak instaliran u Jenkins:
Biljeลกka: Ako iฤi opcija se ne pojavljuje, ponovno instalirajte dodatak, ponovno pokrenite Jenkinsi ponovno se prijavite na nadzornu ploฤu. iฤi opcija ฤe tada biti vidljiva kao ลกto je prikazano gore.
Korak 5) Uฤite u Git repozitorij URL za preuzimanje koda s GitHuba.
Korak 6) Moลพda ฤete dobiti poruku o pogreลกci prilikom prvog ulaska u repozitorij URL, Na primjer:
To se dogaฤa kada Git nije instaliran na raฤunalu na kojem se izvrลกava Jenkins. Jenkins ne ukljuฤuje vlastitu Git binarnu datoteku; dodatak poziva Git izvrลกnu datoteku na hostu. Za lokalnu instalaciju Gita, idite na https://git-scm.com/downloads.
Preuzmite odgovarajuฤi Git instalacijski program za svoj Operating sustav - u ovom sluฤaju Windows โ i instalirajte ga na pokrenuti stroj JenkinsSlijedite upute na zaslonu kako biste dovrลกili instalaciju.
Korak 7) Jenkins moลพe pokrenuti Git repozitorije nakon ลกto je Git instaliran na raฤunalu. Za potvrdu instalacije otvorite naredbeni redaktipa giti pritisnite Enter. Pojavit ฤe se popis Gitovih opcija:
:: 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
Ovo potvrฤuje da je Git instaliran na vaลกem sustavu.
Biljeลกka: Ako je Git veฤ instaliran, dodajte git.exe put ispod upravljati Jenkins > Alati (oznaฤen Globalna konfiguracija alata na starijim izdanjima).
Korak 8) Kada je sve na svom mjestu, dodajte Git URL u Jenkins ponovno. Ne pojavljuje se poruka o pogreลกci, ลกto potvrฤuje Jenkins Integracija s Gitom:
Git je sada ispravno konfiguriran na vaลกem sustavu. Javni repozitorij ฤe se u ovom trenutku klonirati, ali privatni i dalje treba vjerodajnice, ลกto je sljedeฤi korak.
Kako se autentificirati Jenkins S osobnim pristupnim tokenom za GitHub
GitHub je prestao prihvaฤati lozinke raฤuna za Gitove operacije u kolovozu 2021. Navoฤenje korisniฤkog imena i lozinke u Jenkins stoga ne uspijeva protiv bilo kojeg privatnog repozitorija s greลกkom autentifikacije, ฤak i kada se isti vjerodajnici prijavljuju na GitHub web stranicu. Osobni token za pristup zamjenjuje lozinku i Jenkins pohranjuje ga u vlastito spremiลกte vjerodajnica, a ne u konfiguraciju posla.
Prvo kreirajte token u GitHubu:
- U GitHubu otvorite Postavke > Postavke za razvojne programere > Osobni tokeni za pristup.
- Odaberite sitnozrnast token gdje je to moguฤe, jer se moลพe ograniฤiti na jedno spremiลกte ili klasik token ako vaลกa organizacija joลก uvijek zahtijeva jedan.
- Omoguฤite pristup za ฤitanje sadrลพaja repozitorija. Dodajte status potvrde s pristupom za pisanje samo kada ลพelite. Jenkins za prijavu rezultata izgradnje natrag na commitove.
- Postavite datum isteka i odmah kopirajte token โ GitHub ga prikazuje toฤno jednom.
Zatim registrirajte token unutra Jenkins:
- Idi na upravljati Jenkins > Vjerodajnice > Sustav > Globalne vjerodajnice i kliknite Dodaj vjerodajnice.
- odabrati Korisniฤko ime s lozinkom kao vrstu. Unesite svoje korisniฤko ime za GitHub i zalijepite znak u polje za lozinku.
- Dajte unosu jasan ID kao ลกto je
github-pattako da je prepoznatljiv na ekranima za konfiguraciju posla. - Povratak na posao, otvoreno izvor Code Upravljanje > Giti odaberite novu vjerodajnicu iz akreditiv padajuฤeg.
Crvena greลกka validacije ispod repozitorija URL nestaje jednom Jenkins moลพe autentificirati. Vrijedi zapamtiti dvije praktiฤne napomene. Prvo, tokeni istjeฤu; posao koji je pouzdano radio mjesecima i iznenada ne uspije prilikom odjave gotovo je uvijek istekli token, a ne pokvareno spremiลกte. Drugo, SSH kljuฤ je valjana alternativa - dodajte privatni kljuฤ kao SSH korisniฤko ime s privatnim kljuฤem vjerodajnicu i koristite git@github.com:owner/repo.git URL obrazac umjesto HTTPS obrasca.
Kako pokrenuti Jenkins Automatski se gradi pomoฤu GitHub webhooka
Gore kreirani posao i dalje se mora ruฤno pokrenuti, ลกto poniลกtava svrhu kontinuirane integracije. Webhook zatvara tu prazninu: GitHub ลกalje HTTP zahtjev na Jenkins pri svakom guranju i Jenkins odmah zapoฤinje s gradnjom.
Jenkins mora biti dostupno s GitHuba da bi ovo funkcioniralo. Na prijenosnom raฤunalu s localhost:8080 nije, pa bilo koji domaฤin Jenkins na javnom URL ili ga privremeno izloลพiti putem usluge tuneliranja tijekom testiranja.
- Instalirajte dodatak za GitHub. Vrati se na upravljati Jenkins > Dodaci > Dostupni dodaci i instalirajte GitHubOvo dodaje opciju okidaฤa koju sam Git dodatak ne pruลพa.
- Omoguฤite okidaฤ na zadatku. Otvorite konfiguraciju posla, pomaknite se do Okidaฤi za izgradnjui oznaฤite GitHub hook okidaฤ za GITScm anketiranje.
- Dodajte webhook u GitHub. U repozitoriju, otvorite Postavke > Webhookovi > Dodaj webhook.
- Postavite korisni teret URL na vaลกe Jenkins adresa nakon koje slijedi
/github-webhook/Zavrลกna kosa crta je vaลพna. - Postavite vrstu sadrลพaja do
application/jsonI odaberite Samo dogaฤaj push-a. - Spremi i testiraj. GitHub ลกalje ping odmah. Zelena kvaฤica ispod Nedavne isporuke sredstva Jenkins prihvatio to.
# 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/
Potvrdite da je petlja zatvorena pritiskom na commit. Posao bi se trebao pojaviti u redu ฤekanja za izradu u roku od nekoliko sekundi bez ikakve ruฤne radnje. Ako se niลกta ne dogodi, otvorite webhook u GitHubu i proฤitajte Nedavne isporuke kod odgovora: 403 obiฤno pokazuje na Jenkins sigurnosne postavke blokiraju anonimni pristup krajnjoj toฤki, dok vremensko ograniฤenje znaฤi da GitHub ne moลพe dosegnuti Jenkins URL uopฤe.
Nakon ลกto se izgradnje pokrenu automatski, preostali problem obiฤno je nekoliko ponavljajuฤih pogreลกaka.
Zajedniฤki Jenkins Greลกke i ispravci integracije GitHuba
Gotovo svaka neuspjeลกna integracija spada u jednu od dolje navedenih kategorija, a svaka ima zaseban simptom koji izravno ukazuje na uzrok.
- Nema opcije Git pod Izvorni kod Code Upravljanje: Git dodatak nije instaliran ili nije uฤitan. Ponovno ga instalirajte iz upravljati Jenkins > Dodaci, ponovno pokrenite Jenkinsi ponovno uฤitajte stranicu za konfiguraciju posla.
- โNije uspjelo povezivanje s repozitorijemโ na javnoj URL: Git nedostaje iz Jenkins host. Instalirajte Git, a zatim potvrdite s
git --versioni zabiljeลพite put ispod upravljati Jenkins > Alati. - Autentifikacija nije uspjela na privatnom repozitoriju: Koristi se lozinka raฤuna. Zamijenite je osobnim pristupnim tokenom kao ลกto je gore opisano ili prebacite na SSH kljuฤ.
- Izgradnja nikad ne poฤinje nakon guranja: ili Okidaฤ hook-a na GitHubu potvrdni okvir nije oznaฤen ili GitHub ne moลพe doฤi do Jenkins URLProvjerite zapisnik isporuke webhooka u postavkama repozitorija.
- Izgraฤena je pogreลกna grana: o Specifikacija grane joลก uvijek drลพi zadanu vrijednost
*/masterdok repozitorij koristimainAลพurirajte specifikator da se podudara. - Naplata je juฤer radila, a danas ne uspijeva: Osobni pristupni token je dosegao datum isteka. Generirajte zamjenski i aลพurirajte pohranjene vjerodajnice.
Takoฤer provjerite: Najbolje Jenkins Alternative (otvoreni kod i plaฤeno) i CI/CD cjevovod vodiฤ, koji se nadovezuje na ovdje uspostavljenu vezu.















