Jenkins GitHub-integration: Hvordan installerer man et Git-plugin?
⚡ Smart opsummering
Jenkins GitHub-integration forbinder en automatiseringsserver til et kildekode-arkiv, så hver commit kan bygges og verificeres automatisk. Installation af Git-plugin'et, oprettelse af et Freestyle-job, godkendelse med et token og registrering af en webhook fuldfører forbindelsen.

Du har allerede lært hvad Jenkins er og hvordan man installer det på en Windows systemetHvis disse grundlæggende trin er fuldført, går vi videre til plugin-administration.
Jenkins har fremragende plugin-understøttelse. Over tusind tredjepartsapplikationsplugins er tilgængelige. For at kontrollere om Jenkins understøtter den tredjepartsapplikation, du har i tankerne, skal du søge i plugins-mappen på https://plugins.jenkins.io/.
Installation af plugins i Jenkins
Jenkins leveres med en forholdsvis grundlæggende opsætning, så du skal installere de nødvendige plugins for at aktivere understøttelse af hver tredjepartsapplikation.
GitHub er et webbaseret kodelager, der spiller en vigtig rolle i DevOps. Det giver en fælles platform for flere udviklere, der arbejder på den samme kode eller det samme projekt, til at uploade og hente opdateret kode og dermed fremme kontinuerlig integration.
Jenkins kræver, at Git-pluginnet er installeret, før det kan hente kode fra et GitHub-repository. De to plugin-navne forveksles ofte, så tabellen nedenfor adskiller dem:
| Plugin | Hvad det giver | Kræves til denne gennemgang? |
|---|---|---|
| Git-plugin | Git valgmulighed under Kilde Code Administration, kloning af arkiv og valg af gren | Ja - dette er den vigtigste |
| GitHub-plugin | Håndtering af webhooks GitHub hook-udløser mulighed, og buildstatus rapporteres tilbage til commits | Kun til automatisk udløsning |
Du behøver ikke at installere disse plugins, hvis du allerede har accepteret de foreslåede plugins under Jenkins installationsopsætning, da Git-plugin'et er en del af det sæt. Hvis ikke, kan du se her, hvordan du installerer dem og henter kode fra et GitHub-repository.
Sådan installeres Git-pluginet i Jenkins
Følgende er en trin-for-trin proces til installation af Git-plugin'et Jenkins:
Trin 1: Åbn dit dashboard.
Klik på Administrer Jenkins knappen på din Jenkins instrumentbræt:
Trin 2: Find plugin-muligheden.
Klik på plugins. På nuværende tidspunkt Jenkins udgivelser, som dette indlæg er mærket med blot pluginsældre udgivelser mærket med samme skærm Administrer plugins.
Trin 3: På siden Plugins skal du åbne Tilgængelige plugins fanen og derefter:
- Vælg Git plugin
- Klik Installer uden genstartPlugin'et tager et par øjeblikke at downloade, afhængigt af din internetforbindelse, og installeres automatisk.
- Du kan i stedet vælge Download nu og installer efter genstart, i hvilket tilfælde plugin'et anvendes, når Jenkins næste starter.
- Hvis plugin'et allerede er installeret, vises det på Installeret fanen, og der tilbydes ingen opdatering.
Trin 4: Når plugins er installeret, skal du gå til Administrer Jenkins > Plugins > InstalleretDine nye plugins er angivet blandt de andre.
Med plugin'et på plads, Jenkins kan nu peges på et faktisk arkiv.
Sådan integreres Jenkins Med GitHub
Vi vil nu gennemgå integrationsprocessen Jenkins og GitHub på en Windows system:
Trin 1) Opret et nyt job i Jenkins. Åbn Jenkins instrumentbrættet på dit Jenkins URL, For eksempel http://localhost:8080/, og klik Ny vare:
Trin 2) Indtast elementnavnet, vælg jobtypen, og klik på OK. Vi skal lave et Freestyle-projekt som eksempel.
Trin 3) Når du klikker på OK, siden omdirigerer til projektkonfigurationsformularen. Indtast projektoplysningerne her:
Trin 4) Du vil se en Git mulighed under Kilde Code Management hvis Git-plugin'et er blevet installeret i Jenkins:
Bemærk: Hvis Git Hvis valgmuligheden ikke vises, geninstaller plugin'et, genstart Jenkins, og log ind på dashboardet igen. Git Valgmuligheden vil derefter være synlig som vist ovenfor.
Trin 5) Gå ind i Git-arkivet URL at hente koden fra GitHub.
Trin 6) Du får muligvis en fejlmeddelelse første gang du åbner arkivet URL. For eksempel:
Dette sker, når Git ikke er installeret på den maskine, der kører. Jenkins. Jenkins bundter ikke sin egen Git-binære fil; plugin'et kalder den eksekverbare Git-fil på værten. For at installere Git lokalt, gå til https://git-scm.com/downloads.
Download det relevante Git-installationsprogram til din Operating System — i dette tilfælde Windows — og installer den på den kørende maskine JenkinsFølg instruktionerne på skærmen for at afslutte installationen.
Trin 7) Jenkins kan køre Git-arkiver, når Git er installeret på maskinen. For at bekræfte installationen skal du åbne en kommandopromptenSkriv git, og tryk på Enter. En liste over Git-indstillinger vises:
:: 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
Dette bekræfter, at Git er installeret på dit system.
Bemærk: Hvis Git allerede er installeret, skal du tilføje git.exe sti under Administrer Jenkins > Værktøjer (mærket Global værktøjskonfiguration på ældre udgivelser).
Trin 8) Når alt er på plads, tilføj Git URL ind Jenkins igen. Der vises ingen fejlmeddelelse, hvilket bekræfter Jenkins Git-integration:
Git er nu korrekt konfigureret på dit system. Et offentligt repository vil klones på dette tidspunkt, men et privat repository kræver stadig legitimationsoplysninger, hvilket er det næste trin.
Sådan godkendes Jenkins Med et GitHub personligt adgangstoken
GitHub stoppede med at acceptere kontoadgangskoder til Git-operationer i august 2021. Angivelse af brugernavn og adgangskode i Jenkins fejler derfor mod ethvert privat arkiv med en godkendelsesfejl, selv når de samme legitimationsoplysninger logger ind på GitHub-webstedet. En personlig adgangstoken erstatter adgangskoden, og Jenkins gemmer den i sit eget legitimationsoplysningerlager i stedet for i jobkonfigurationen.
Opret først tokenet i GitHub:
- I GitHub, åbn Indstillinger > Udviklerindstillinger > Personlige adgangstokens.
- Vælg et finkornet token hvor det er muligt, fordi det kan begrænses til et enkelt arkiv eller et Classic token, hvis din organisation stadig har brug for en.
- Giv læseadgang til indholdet af arkivet. Tilføj kun skriveadgang til commit-status, når du ønsker det. Jenkins at rapportere byggeresultater tilbage til commits.
- Angiv en udløbsdato, og kopier tokenet med det samme – GitHub viser det præcis én gang.
Registrer derefter tokenen indeni Jenkins:
- Gå til Administrer Jenkins > Legitimationsoplysninger > System > Globale legitimationsoplysninger og klik Tilføj legitimationsoplysninger.
- Type Brugernavn med adgangskode som typen. Indtast dit GitHub-brugernavn, og indsæt token i adgangskodefeltet.
- Giv posten et tydeligt ID, f.eks.
github-patså det er genkendeligt på jobkonfigurationsskærme. - Tilbage til jobbet, åben Kilde Code Administration > Git, og vælg den nye legitimationsoplysninger fra Legitimationsoplysninger dropdown.
Den røde valideringsfejl under arkivet URL forsvinder én gang Jenkins kan godkende. To praktiske bemærkninger er værd at huske. For det første udløber tokens; et job, der har kørt pålideligt i flere måneder og pludselig fejler ved udtjekning, er næsten altid et udløbet token snarere end et defekt arkiv. For det andet er en SSH-nøgle et gyldigt alternativ - tilføj den private nøgle som en SSH-brugernavn med privat nøgle legitimationsoplysninger og brug git@github.com:owner/repo.git URL formular i stedet for HTTPS-formularen.
Sådan udløses Jenkins Bygger automatisk med en GitHub Webhook
Det ovenfor oprettede job skal stadig startes manuelt, hvilket modvirker formålet med kontinuerlig integration. En webhook lukker dette hul: GitHub sender en HTTP-anmodning til Jenkins ved hvert skub, og Jenkins starter byggeriet med det samme.
Jenkins skal kunne nås fra GitHub for at dette kan virke. På en bærbar computer, der kører localhost:8080 det er det ikke, så enten vært Jenkins på en offentlighed URL eller midlertidigt eksponere den gennem en tunneleringstjeneste under testning.
- Installer GitHub-pluginnet. Vend tilbage til Administrer Jenkins > Plugins > Tilgængelige plugins og installer GitHubDette tilføjer trigger-muligheden, som Git-pluginet alene ikke tilbyder.
- Aktiver udløseren på jobbet. Åbn jobkonfigurationen, rul til Byg udløsere, og sæt kryds GitHub hook-trigger til GITScm-afstemning.
- Tilføj webhooken i GitHub. I arkivet skal du åbne Indstillinger > Webhooks > Tilføj webhook.
- Indstil nyttelasten URL til din Jenkins adresse efterfulgt af
/github-webhook/Den efterfølgende skråstreg er vigtig. - Angiv indholdstypen til
application/jsonOg vælg Bare push-begivenheden. - Gem og test. GitHub sender en ping straks. Et grønt flueben under Seneste leverancer midler Jenkins accepterede det.
# 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/
Tryk en commit for at bekræfte, at løkken er lukket. Jobbet burde vises i byggekøen inden for få sekunder uden manuel handling. Hvis der ikke sker noget, skal du åbne webhook'en i GitHub og læse Seneste leverancer svarkode: en 403 peger normalt på Jenkins sikkerhedsindstillinger, der blokerer anonym adgang til slutpunktet, mens en timeout betyder, at GitHub ikke kan nå Jenkins URL overhovedet.
Når builds udløses automatisk, er den resterende friktion normalt en håndfuld tilbagevendende fejl.
Fælles Jenkins GitHub-integrationsfejl og -rettelser
Næsten alle mislykkede integrationer falder ind under en af nedenstående kategorier, og hver har et tydeligt symptom, der peger direkte på årsagen.
- Ingen Git-mulighed under Kilde Code Ledelse: Git-plugin'et er ikke installeret eller ikke indlæst. Geninstaller det fra Administrer Jenkins > Plugins, genstart Jenkins, og genindlæs jobkonfigurationssiden.
- "Kunne ikke oprette forbindelse til arkivet" på en offentlig URL: Git mangler fra Jenkins vært. Installer Git, og bekræft derefter med
git --versionog optag stien under Administrer Jenkins > Værktøjer. - Godkendelse mislykkedes på et privat arkiv: en kontoadgangskode bruges. Erstat den med en personlig adgangstoken som beskrevet ovenfor, eller skift til en SSH-nøgle.
- Byggerier starter aldrig efter et push: enten den GitHub hook-udløser afkrydsningsfeltet er ikke markeret, eller GitHub kan ikke nå Jenkins URLTjek webhook-leveringsloggen i arkivindstillingerne.
- Forkert gren er bygget: og Filialspecifikation har stadig standardværdien
*/mastermens arkivet brugermainOpdater specifikationen, så den matcher. - Betalingen virkede i går og fejler i dag: Den personlige adgangstoken er udløbet. Generer en erstatning, og opdater de gemte legitimationsoplysninger.
Kontroller også: Bedre Jenkins Alternativer (open source og betalt) og CI/CD pipeline gennemgang, som bygger videre på den forbindelse, der er etableret her.















