Jenkins GitHub-Integration: Wie installiert man das Git-Plugin?
⚡ Intelligente Zusammenfassung
Jenkins Die GitHub-Integration verbindet einen Automatisierungsserver mit einem Quellcode-Repository, sodass jeder Commit automatisch erstellt und verifiziert werden kann. Die Verbindung wird durch die Installation des Git-Plugins, die Erstellung eines Freestyle-Jobs, die Authentifizierung mit einem Token und die Registrierung eines Webhooks hergestellt.

Du hast bereits gelernt, was Jenkins ist und wie man installiere es auf a Windows fragstUnter der Annahme, dass diese grundlegenden Schritte abgeschlossen sind, werden wir uns nun der Plugin-Verwaltung zuwenden.
Jenkins bietet hervorragende Plugin-Unterstützung. Über tausend Plugins von Drittanbietern sind verfügbar. Um zu überprüfen, ob Jenkins Unterstützt die von Ihnen gewünschte Drittanbieteranwendung; suchen Sie im Plugin-Verzeichnis unter https://plugins.jenkins.io/.
Installation von Plugins in Jenkins
Jenkins Es verfügt über eine recht einfache Einrichtung, daher müssen Sie die erforderlichen Plugins installieren, um die Unterstützung für jede Drittanbieteranwendung zu aktivieren.
GitHub ist ein webbasiertes Code-Repository, das eine wichtige Rolle im DevOps-Bereich spielt. Es bietet eine gemeinsame Plattform für mehrere Entwickler, die am selben Code oder Projekt arbeiten, um aktualisierten Code hochzuladen und abzurufen und so die kontinuierliche Integration zu erleichtern.
Jenkins Bevor Code aus einem GitHub-Repository abgerufen werden kann, muss das Git-Plugin installiert sein. Die beiden Plugin-Namen werden oft verwechselt, daher werden sie in der folgenden Tabelle getrennt dargestellt:
| Plugin | Was es bietet | Für diese Anleitung erforderlich? |
|---|---|---|
| Git-Plugin | Das Git Option unter Quelle Code Verwaltung, Repository-Klonen und Branch-Auswahl | Ja – das ist der entscheidende Punkt. |
| GitHub-Plugin | Webhook-Verarbeitung, die GitHub-Hook-Trigger Option und der Build-Status werden an die Commits zurückgemeldet. | Nur für automatische Auslösung |
Sie müssen diese Plugins nicht installieren, wenn Sie die vorgeschlagenen Plugins bereits während der Jenkins Die Installationskonfiguration ist erforderlich, da das Git-Plugin Teil dieses Pakets ist. Falls nicht, finden Sie hier eine Anleitung zur Installation und zum Abrufen von Code aus einem GitHub-Repository.
Wie installiert man das Git-Plugin in Jenkins
Im Folgenden finden Sie eine schrittweise Anleitung zur Installation des Git-Plugins in Jenkins:
Schritt 1: Öffnen Sie Ihr Dashboard.
Klicken Sie auf Verwalten Jenkins Taste auf Ihrem Jenkins Instrumententafel:
Schritt 2: Suchen Sie die Option „Plugins“.
Klicken Sie auf PluginsAktuell Jenkins Veröffentlichungen. Dieser Eintrag ist einfach gekennzeichnet. Plugins; ältere Versionen mit demselben Bildschirm Plugins verwalten.
Schritt 3: Öffnen Sie auf der Seite „Plugins“ die Verfügbare Plugins Tabulator und dann:
- Wähle aus Git Plugin
- Klicken Sie auf Ohne Neustart installierenDas Herunterladen des Plugins dauert je nach Internetverbindung einige Augenblicke und erfolgt automatisch.
- Alternativ können Sie wählen Jetzt herunterladen und nach dem Neustart installierenIn diesem Fall wird das Plugin angewendet, wenn Jenkins Der nächste Startschuss fällt.
- Falls das Plugin bereits vorhanden ist, wird es auf der Seite angezeigt. Installierte Es wird kein Update angeboten.
Schritt 4: Sobald die Plugins installiert sind, gehen Sie zu Verwalten Jenkins > Plugins > InstalliertIhre neuen Plugins sind zusammen mit den anderen aufgelistet.
Nachdem das Plugin installiert wurde, Jenkins kann nun auf ein tatsächliches Repository verwiesen werden.
So integrieren Sie Jenkins Mit GitHub
Wir werden nun den Integrationsprozess Schritt für Schritt durchgehen. Jenkins und GitHub auf einem Windows System:
Schritt 1) Erstellen Sie einen neuen Job in Jenkins. Öffne das Jenkins Dashboard auf Ihrem Jenkins URLBeispielsweise http://localhost:8080/Und klicken Sie auf Neues Element:
Schritt 2) Geben Sie den Artikelnamen ein, wählen Sie den Auftragstyp aus und klicken Sie auf OK. Als Beispiel erstellen wir ein Freestyle-Projekt.
Schritt 3) Sobald Sie klicken OKDie Seite leitet zum Projektkonfigurationsformular weiter. Geben Sie hier die Projektinformationen ein:
Schritt 4) Sie werden eine sehen Git Option unter Quellcodeverwaltung wenn das Git-Plugin installiert wurde in Jenkins:
Hinweis: Besitzt das Git Die Option wird nicht angezeigt. Installieren Sie das Plugin neu und starten Sie den Computer neu. Jenkinsund melden Sie sich erneut im Dashboard an. Git Die Option wird dann wie oben dargestellt sichtbar sein.
Schritt 5) Öffnen Sie das Git-Repository. URL den Code von GitHub abrufen.
Schritt 6) Möglicherweise erhalten Sie beim ersten Zugriff auf das Repository eine Fehlermeldung. URL. Zum Beispiel:
Dies geschieht, wenn Git nicht auf dem Rechner installiert ist, auf dem das Programm läuft. Jenkins. Jenkins Das Plugin enthält keine eigene Git-Binärdatei; es ruft die Git-Executable auf dem Hostsystem auf. Um Git lokal zu installieren, gehen Sie zu https://git-scm.com/downloads.
Laden Sie den passenden Git-Installer für Ihre Betriebssystem — in diesem Fall Windows — und installieren Sie es auf dem laufenden Rechner. JenkinsFolgen Sie den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.
Schritt 7) Jenkins Git-Repositories können ausgeführt werden, sobald Git auf dem Rechner installiert ist. Um die Installation zu überprüfen, öffnen Sie eine Eingabeaufforderung, Typ gitund drücken Sie die Eingabetaste. Eine Liste der Git-Optionen wird angezeigt:
:: 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
Dies bestätigt, dass Git auf Ihrem System installiert ist.
Hinweis: Falls Git bereits installiert ist, fügen Sie Folgendes hinzu: git.exe Pfad unter Verwalten Jenkins > Werkzeuge (beschriftet) Globale Werkzeugkonfiguration (bei älteren Versionen).
Schritt 8) Wenn alles eingerichtet ist, fügen Sie Git hinzu. URL in Jenkins Erneut erscheint keine Fehlermeldung, was die Jenkins Git-Integration:
Git ist nun auf Ihrem System korrekt konfiguriert. Ein öffentliches Repository kann jetzt geklont werden, für ein privates Repository werden jedoch noch Zugangsdaten benötigt; dies ist der nächste Schritt.
So authentifizieren Sie sich Jenkins Mit einem persönlichen GitHub-Zugriffstoken
GitHub akzeptiert seit August 2021 keine Kontopasswörter mehr für Git-Operationen. Die Angabe eines Benutzernamens und Passworts in Jenkins Daher schlägt die Authentifizierung bei jedem privaten Repository fehl, selbst wenn dieselben Anmeldeinformationen auf der GitHub-Website funktionieren. Ein persönliches Zugriffstoken ersetzt das Passwort. Jenkins speichert es in einem eigenen Anmeldeinformationsspeicher anstatt in der Jobkonfiguration.
Erstellen Sie zuerst das Token in GitHub:
- In GitHub öffnen Einstellungen > Entwicklereinstellungen > Persönliche Zugriffstoken.
- Wähle ein feinkörnig Token, wo immer möglich, da es auf ein einzelnes Repository beschränkt werden kann, oder ein klassisch Token, falls Ihre Organisation noch einen benötigt.
- Gewähren Sie Lesezugriff auf den Repository-Inhalt. Fügen Sie Schreibzugriff auf den Commit-Status nur dann hinzu, wenn Sie dies wünschen. Jenkins Die Build-Ergebnisse werden in den Commits zurückgemeldet.
- Setzen Sie ein Ablaufdatum und kopieren Sie das Token sofort – GitHub zeigt es genau einmal an.
Registrieren Sie anschließend das Token im Inneren Jenkins:
- Zurück Nach Verwalten Jenkins Anmeldeinformationen > System > Globale Anmeldeinformationen und klicken auf Anmeldeinformationen hinzufügen.
- Auswählen Benutzername mit Passwort als Art. Geben Sie Ihren GitHub-Benutzernamen ein und fügen Sie den ein. Zeichen in das Passwortfeld.
- Geben Sie dem Eintrag eine eindeutige Kennung, wie zum Beispiel
github-patEs ist also in den Jobkonfigurationsbildschirmen erkennbar. - Zurück zur Arbeit, öffnen Quelle Code Verwaltung > Gitund wählen Sie die neuen Anmeldeinformationen aus der Aus- und Fortbildungen Dropdown-Liste.
Der rote Validierungsfehler unter dem Repository URL verschwindet einmal Jenkins Die Authentifizierung ist möglich. Zwei wichtige Hinweise: Erstens, Tokens laufen ab. Ein Job, der monatelang zuverlässig lief und beim Auschecken plötzlich fehlschlägt, ist fast immer auf ein abgelaufenes Token und nicht auf ein defektes Repository zurückzuführen. Zweitens, ein SSH-Schlüssel ist eine gültige Alternative – fügen Sie den privaten Schlüssel als [fehlende Information] hinzu. SSH-Benutzername mit privatem Schlüssel Anmeldeinformationen und verwenden Sie die git@github.com:owner/repo.git URL Das Formular anstelle des HTTPS-Formulars.
So lösen Sie aus Jenkins Automatische Builds mit einem GitHub-Webhook
Der oben erstellte Job muss weiterhin manuell gestartet werden, was dem Zweck der kontinuierlichen Integration widerspricht. Ein Webhook schließt diese Lücke: GitHub sendet eine HTTP-Anfrage an Jenkins bei jedem Druckstoß, und Jenkins Der Build-Prozess startet sofort.
Jenkins Damit dies funktioniert, muss die Ressource von GitHub aus erreichbar sein. Auf einem Laptop mit folgendem Betriebssystem: localhost:8080 Nein, also entweder der Host Jenkins auf ein Publikum URL oder es während der Testphase vorübergehend über einen Tunneling-Dienst zugänglich machen.
- Installieren Sie das GitHub-Plugin. Zurück zur Seite Verwalten Jenkins > Plugins > Verfügbare Plugins und installieren GitHubDadurch wird die Trigger-Option hinzugefügt, die das Git-Plugin allein nicht bietet.
- Aktivieren Sie den Trigger für den Auftrag. Öffnen Sie die Jobkonfiguration und scrollen Sie zu Trigger erstellen, und ankreuzen GitHub-Hook-Trigger für GITScm-Polling.
- Füge den Webhook in GitHub hinzu. Im Repository öffnen Einstellungen > Webhooks > Webhook hinzufügen.
- Nutzlast festlegen URL auf Ihre Jenkins Adresse gefolgt von
/github-webhook/Der abschließende Schrägstrich ist wichtig. - Legen Sie den Inhaltstyp fest zu
application/jsonund wählen Sie Nur das Push-Ereignis. - Speichern und testen. GitHub sendet eine ping sofort. Ein grünes Häkchen darunter Kürzliche Lieferungen Mittel verbinden Jenkins Ich habe es akzeptiert.
# 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/
Senden Sie einen Commit, um zu bestätigen, dass die Schleife geschlossen ist. Der Job sollte innerhalb weniger Sekunden ohne manuelle Eingriffe in der Build-Warteschlange erscheinen. Falls nichts passiert, öffnen Sie den Webhook in GitHub und lesen Sie die Meldung. Kürzliche Lieferungen Antwortcode: Ein 403-Fehler deutet normalerweise darauf hin, dass Jenkins Sicherheitseinstellungen blockieren den anonymen Zugriff auf den Endpunkt, während ein Timeout bedeutet, dass GitHub den Endpunkt nicht erreichen kann. Jenkins URL überhaupt.
Sobald die Builds automatisch ausgelöst werden, besteht die verbleibende Reibungsverlustrate in der Regel aus einer Handvoll wiederkehrender Fehler.
gemeinsam Jenkins GitHub-Integrationsfehler und deren Behebung
Nahezu jede fehlgeschlagene Integration lässt sich in eine der folgenden Kategorien einordnen, und jede weist ein charakteristisches Symptom auf, das direkt auf die Ursache hinweist.
- Keine Git-Option unter Quelle Code Management: Das Git-Plugin ist nicht installiert oder nicht geladen. Installieren Sie es erneut von Verwalten Jenkins > Plugins, neu starten Jenkinsund laden Sie die Seite mit der Jobkonfiguration neu.
- „Verbindung zum Repository fehlgeschlagen“ auf einem öffentlichen Server URL: Git fehlt in der Jenkins Host. Installieren Sie Git und bestätigen Sie anschließend mit
git --versionund den Pfad unter Verwalten Jenkins > Werkzeuge. - Authentifizierung bei einem privaten Repository fehlgeschlagen: Es wird ein Kontopasswort verwendet. Ersetzen Sie es durch ein persönliches Zugriffstoken, wie oben beschrieben, oder wechseln Sie zu einem SSH-Schlüssel.
- Nach einem Push starten die Builds nie: entweder GitHub-Hook-Trigger Das Kontrollkästchen ist nicht markiert, oder GitHub kann die Website nicht erreichen. Jenkins URLÜberprüfen Sie das Webhook-Zustellungsprotokoll in den Repository-Einstellungen.
- Der falsche Zweig wurde erstellt: die Zweigspezifizierer behält weiterhin die Standardeinstellung bei
*/masterwährend das Repository verwendetmainAktualisieren Sie den Spezifizierer entsprechend. - Der Bezahlvorgang funktionierte gestern noch, heute aber nicht mehr: Das persönliche Zugriffstoken ist abgelaufen. Generieren Sie ein neues Token und aktualisieren Sie die gespeicherten Anmeldeinformationen.
Überprüfen Sie auch: Besten Jenkins Alternativen (Open Source & kostenpflichtig) und der CI / CD-Pipeline Schritt für Schritt, der auf der hier hergestellten Verbindung aufbaut.















