Jenkins GitHub integráció: Hogyan telepítsük a Git bővítményt?
⚡ Okos összefoglaló
Jenkins A GitHub integráció egy automatizálási szervert csatlakoztat egy forráskód-tárházhoz, így minden commit automatikusan felépíthető és ellenőrizhető. A Git bővítmény telepítése, egy Freestyle feladat létrehozása, tokennel történő hitelesítés és egy webhook regisztrálása teszi teljessé a kapcsolatot.

Már megtanultad, hogy mit Jenkins van és hogyan kell telepítse egy Windows rendszerFeltételezve, hogy ezek az alapvető lépések megtörténtek, most a bővítmények kezelésével folytatjuk.
Jenkins kiemelkedő bővítmény-támogatással rendelkezik. Több mint ezer harmadik féltől származó alkalmazásbővítmény érhető el. Annak ellenőrzéséhez, hogy Jenkins támogatja a kiszemelt harmadik féltől származó alkalmazást, keresse meg a bővítmények könyvtárát a következő címen: https://plugins.jenkins.io/.
Bővítmények telepítése Jenkins
Jenkins meglehetősen alapvető beállítással rendelkezik, ezért telepítenie kell a szükséges bővítményeket az egyes harmadik féltől származó alkalmazások támogatásának engedélyezéséhez.
A GitHub egy webalapú kódtár, amely fontos szerepet játszik a DevOpsban. Közös platformot biztosít több fejlesztő számára, akik ugyanazon a kódon vagy projekten dolgoznak, hogy feltöltsék és lekérjék a frissített kódot, ezáltal megkönnyítve a folyamatos integrációt.
Jenkins telepítenie kell a Git bővítményt, mielőtt kódot tudna lekérni egy GitHub repositoryból. A két bővítmény nevét gyakran összekeverik, ezért az alábbi táblázat különválasztja őket:
| Csatlakoztat | Mit nyújt | Kötelező ehhez az útmutatóhoz? |
|---|---|---|
| Git bővítmény | Az megy opció a Forrás alatt Code Kezelés, adattár klónozása és ágkiválasztás | Igen – ez a lényeg |
| GitHub bővítmény | Webhook kezelés, a GitHub hook trigger opció, és az építési állapot visszajelzésre kerül a commitoknak | Csak automatikus kioldáshoz |
Nem kell telepítened ezeket a bővítményeket, ha már elfogadtad a javasolt bővítményeket a folyamat során. Jenkins telepítési beállítások, mivel a Git bővítmény része ennek a készletnek. Ha nem, akkor itt találsz információkat arról, hogyan telepítheted őket és hogyan húzhatod ki a kódot egy GitHub-tárházból.
Hogyan telepítsük a Git bővítményt Jenkins
A következő lépésekben lépésről lépésre bemutatjuk, hogyan telepítheti a Git bővítményt: Jenkins:
Lépés 1: Nyissa meg az irányítópultot.
Kattints a kezel Jenkins gombot a Jenkins Irányítópult:
Lépés 2: Keresd meg a bővítmények opciót.
Kattints a DugóJelenlegi Jenkins kiadások Ez a bejegyzés egyszerűen címkézett Dugó; régebbi kiadások ugyanazzal a képernyővel jelölve Beépülő modulok kezelése.
Lépés 3: A Bővítmények oldalon nyissa meg a Elérhető bővítmények fülre, majd:
- Válassza ki a megy csatlakoztat
- Kattints Telepítés újraindítás nélkülA bővítmény letöltése az internetkapcsolattól függően néhány percet vesz igénybe, és automatikusan települ.
- Ehelyett választhatja Töltse le most, és telepítse újraindítás után, amely esetben a bővítmény akkor kerül alkalmazásra, amikor Jenkins következő kezdődik.
- Ha a bővítmény már telepítve van, akkor megjelenik a Telepített lap, és nem kínál fel frissítést.
Lépés 4: Miután telepítetted a bővítményeket, menj ide: kezel Jenkins > Bővítmények > TelepítveAz új bővítményeid a többi között szerepelnek.
A bővítmény behelyezésével Jenkins mostantól egy tényleges adattárra mutathat.
Hogyan lehet integrálni? Jenkins GitHubbal
Most pedig végigmegyünk az integráció folyamatán Jenkins és a GitHub egy Windows rendszer:
Step 1) Új munkakör létrehozása itt: Jenkins. Nyissa meg a Jenkins műszerfalon az Ön Jenkins URL, Például http://localhost:8080/, és kattintson a gombra Új jogcím:
Step 2) Írja be az elem nevét, válassza ki a feladat típusát, majd kattintson a OK. Példaként létrehozunk egy Freestyle projektet.
Step 3) Miután rákattintott OK, az oldal átirányít a projekt konfigurációs űrlapjára. Adja meg a projekt adatait itt:
Step 4) Látni fogja a megy opció alatt Forrás Code Menedzsment ha a Git bővítmény telepítve van Jenkins:
Jegyzet: Ha a megy nem jelenik meg a lehetőség, telepítse újra a bővítményt, indítsa újra a gépet Jenkins, és jelentkezzen be újra az irányítópultra. A megy A lehetőség ezután a fenti képen látható módon fog megjelenni.
Step 5) Lépjen be a Git repositoryba URL hogy kihúzd a kódot a GitHubból.
Step 6) Előfordulhat, hogy hibaüzenetet kapsz, amikor először belépsz a tárházba URL. Például:
Ez akkor történik, ha a Git nincs telepítve a futó gépre. Jenkins. Jenkins nem csomagolja be a saját Git bináris fájlját; a bővítmény meghívja a Git futtatható fájlját a gazdagépen. A Git helyi telepítéséhez látogasson el a következő oldalra: https://git-scm.com/downloads.
Töltsd le a megfelelő Git telepítőt a gépedhez Operating rendszer – ebben az esetben Windows — és telepítse a futó gépre JenkinsA telepítés befejezéséhez kövesse a képernyőn megjelenő utasításokat.
Step 7) Jenkins A Git telepítése után a gépre futtathatóak a Git-tárolók. A telepítés megerősítéséhez nyisson meg egy parancssorból, típus git, majd nyomja meg az Enter billentyűt. Megjelenik a Git-beállítások listája:
:: 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
Ez megerősíti, hogy a Git telepítve van a rendszereden.
Jegyzet: Ha a Git már telepítve van, add hozzá a git.exe ösvény alatt kezel Jenkins > Eszközök (címkézett Globális eszközkonfiguráció régebbi kiadásokon).
Step 8) Miután minden a helyén van, add hozzá a Git-et URL bele Jenkins újra. Nem jelenik meg hibaüzenet, ami megerősíti a Jenkins Git integráció:
A Git most már megfelelően van konfigurálva a rendszereden. Egy nyilvános tároló klónozása ezen a ponton megtörténik, de egy privát tárolóhoz továbbra is szükség van hitelesítő adatokra, ami a következő lépés.
Hogyan hitelesítsünk Jenkins GitHub személyes hozzáférési tokennel
A GitHub 2021 augusztusában leállította a fiókjelszavak elfogadását a Git-műveletekhez. Felhasználónév és jelszó megadása a következőben: Jenkins ezért minden hitelesítési hibát tartalmazó privát adattárral szemben sikertelen, még akkor is, ha ugyanazokkal a hitelesítő adatokkal jelentkeznek be a GitHub webhelyre. Egy személyes hozzáférési token helyettesíti a jelszót, és Jenkins a saját hitelesítőadat-tárolójában tárolja, ahelyett, hogy a feladatkonfigurációban lenne.
Először hozd létre a tokent a GitHub-on:
- A GitHub-ban nyissa meg a Beállítások > Fejlesztői beállítások > Személyes hozzáférési tokenek.
- Válassz egy finomszemcsés token, ahol lehetséges, mivel hatóköre egyetlen adattárra korlátozható, vagy egy klasszikus tokent, ha a szervezetének továbbra is szüksége van rá.
- Olvasási hozzáférést biztosít a tárház tartalmához. Írási hozzáférést csak akkor adjon hozzá véglegesítési állapothoz, amikor szeretné. Jenkins a build eredmények commitként történő jelentésére.
- Állíts be egy lejárati dátumot, és másold le azonnal a tokent – a GitHub pontosan egyszer jeleníti meg.
Ezután regisztrálja a tokent belül Jenkins:
- Tovább kezel Jenkins > Hitelesítő adatok > Rendszer > Globális hitelesítő adatok és kattintson Hitelesítő adatok hozzáadása.
- választ Felhasználónév jelszóval típusként. Írd be a GitHub felhasználóneved, és illeszd be a jelképes a jelszó mezőbe.
- Adjon a bejegyzésnek egyértelmű azonosítót, például
github-patígy felismerhető a feladatkonfigurációs képernyőkön. - Visszatérés a munkába, nyitva Forrás Code Kezelés > Git, és válassza ki az új hitelesítő adatot a Hitelesítő adatok ledob.
A piros érvényesítési hiba a tárház alatt URL eltűnik egyszer Jenkins hitelesíthető. Két gyakorlati megjegyzést érdemes megjegyezni. Először is, a tokenek lejárnak; egy olyan feladat, amely hónapokig megbízhatóan fut, és hirtelen meghiúsul a kijelentkezéskor, szinte mindig lejárt token, nem pedig hibás adattár. Másodszor, egy SSH-kulcs érvényes alternatíva – adja hozzá a privát kulcsot kulcsként SSH felhasználónév privát kulccsal hitelesítő adatot, és használja a git@github.com:owner/repo.git URL űrlapot a HTTPS űrlap helyett.
Hogyan indítsuk el Jenkins Automatikusan épít egy GitHub webhookkal
A fent létrehozott feladatot továbbra is kézzel kell elindítani, ami ellentétes a folyamatos integráció céljával. Egy webhook hidalja át ezt a hiányt: a GitHub HTTP kérést küld a következőnek: Jenkins minden nyomásnál, és Jenkins azonnal elkezdi az építést.
Jenkins elérhetőnek kell lennie a GitHubról ahhoz, hogy ez működjön. Egy laptopon, amelyen a következő fut: localhost:8080 nem az, tehát bármelyik gazdagép Jenkins nyilvánosság előtt URL vagy ideiglenesen alagútfúráson keresztül tegye ki a tesztelés során.
- Telepítsd a GitHub bővítményt. Vissza kezel Jenkins > Bővítmények > Elérhető bővítmények és telepítse GitHubEz hozzáadja azt az indítójel opciót, amelyet a Git bővítmény önmagában nem biztosít.
- Engedélyezze a triggert a feladaton. Nyissa meg a munkaköri konfigurációt, görgessen a következőhöz: Triggerek építése, és jelölje be GitHub hook trigger a GITScm lekérdezéshez.
- Adja hozzá a webhookot a GitHubban. A tárházban nyissa meg a Beállítások > Webhookok > Webhook hozzáadása.
- Állítsa be a hasznos terhet URL a Jenkins cím, majd
/github-webhook/A záró perjel számít. - Tartalomtípus beállítása nak nek
application/jsonÉs válasszon Csak a push esemény. - Mentés és tesztelés. A GitHub küld egy ping azonnal. Egy zöld pipa alatta Legutóbbi szállítások eszközök Jenkins elfogadta.
# 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/
Egy commit parancs beküldésével erősítse meg a ciklus lezárását. A feladatnak néhány másodpercen belül meg kell jelennie a build sorban, manuális beavatkozás nélkül. Ha semmi sem történik, nyissa meg a webhookot a GitHub-on, és olvassa el a következőt: Legutóbbi szállítások válaszkód: a 403-as kód általában erre mutat: Jenkins biztonsági beállítások blokkolják a névtelen hozzáférést a végponthoz, míg az időtúllépés azt jelenti, hogy a GitHub nem tudja elérni a Jenkins URL egyáltalán.
Miután az építmények automatikusan aktiválódnak, a fennmaradó súrlódás általában néhány ismétlődő hiba.
Közös Jenkins GitHub integrációs hibák és javítások
Szinte minden sikertelen integráció az alábbi kategóriák valamelyikébe tartozik, és mindegyiknek van egy különálló tünete, amely egyenesen az okra mutat.
- Nincs Git opció a Forrás alatt Code Management: A Git bővítmény nincs telepítve vagy nincs betöltve. Telepítse újra innen: kezel Jenkins > Bővítmények, újrakezd Jenkins, és töltse be újra a feladatkonfigurációs oldalt.
- „Nem sikerült csatlakozni a tárházhoz” egy nyilvános helyen URL: A Git hiányzik a Jenkins host. Telepítse a Git-et, majd erősítse meg a következővel:
git --versionés rögzítse az útvonalat alatta kezel Jenkins > Eszközök. - Hitelesítés sikertelen egy privát adattáron: Fiókjelszót használ. Cserélje le egy személyes hozzáférési tokenre a fent leírtak szerint, vagy váltson SSH-kulcsra.
- Az építkezések soha nem indulnak el egy push után: vagy a GitHub hook trigger jelölőnégyzet nincs bejelölve, vagy a GitHub nem tudja elérni a Jenkins URLEllenőrizd a webhook kézbesítési naplóját a tárház beállításaiban.
- Rossz ág épült fel: a Ágleíró még mindig az alapértelmezett értéket tartja
*/mastermiközben a tárház használjamainFrissítse a specifikátort, hogy megegyezzen. - A fizetés tegnap működött, ma meghiúsul: A személyes hozzáférési token lejárt. Generáljon egy csere tokent, és frissítse a tárolt hitelesítő adatokat.
Szintén ellenőrizze: Legjobb Jenkins Alternatívák (nyílt forráskódú és fizetős) és a CI/CD csővezeték végigjátszás, amely az itt létrehozott kapcsolatra épít.















