Willkommen zu diesem Lab über die Integration von Jenkins mit Git. Source Control Management (SCM) ist ein Eckpfeiler der modernen Softwareentwicklung. Die Integration Ihres Continuous Integration (CI)-Servers, wie Jenkins, mit einem SCM-System, wie Git, ist ein grundlegender Schritt zur Automatisierung Ihrer Build- und Testprozesse.
In diesem Lab lernen Sie, wie Sie:
Überprüfen, ob das Jenkins Git Plugin verfügbar ist.
Ein Freestyle-Projekt erstellen, das mit einem lokalen Git-Repository verknüpft ist.
Einen Build-Schritt hinzufügen, um ein Skript aus dem Repository auszuführen.
Einen Build manuell ausführen, um die Konfiguration zu testen.
SCM Polling konfigurieren, um Builds automatisch bei neuen Commits auszulösen.
Eine Jenkins-Instanz läuft bereits für dieses Lab. Sie können auf die Jenkins-Weboberfläche zugreifen, indem Sie den Firefox-Browser auf dem Desktop öffnen. Der Browser öffnet sich automatisch unter http://localhost:8080, sodass Sie die URL nicht manuell eingeben müssen. Eine Anmeldung ist nicht erforderlich.
Git-Plugin überprüfen
Jenkins verfügt über eine integrierte Git-Integration. Das Git Plugin ist standardmäßig bereits installiert und ermöglicht Jenkins die Interaktion mit Git-Repositories. Lassen Sie uns überprüfen, ob das Git Plugin verfügbar ist.
Öffnen Sie den Firefox-Browser über die Desktop-Oberfläche. Der Browser öffnet sich automatisch unter http://localhost:8080, sodass Sie die URL nicht manuell eingeben müssen. Eine Anmeldung ist nicht erforderlich.
Klicken Sie im Jenkins Dashboard in der oberen rechten Ecke auf das Zahnradsymbol (Einstellungen-Schaltfläche).
Suchen Sie auf der Einstellungsseite nach Plugins und klicken Sie darauf.
Wählen Sie den Tab Installed plugins (Installierte Plugins).
Geben Sie in das Suchfeld auf der rechten Seite Git ein, um die installierten Plugins zu filtern.
Sie sollten das Git plugin in der Liste der installierten Plugins sehen, was bestätigt, dass die Git-Integration verfügbar ist.
Nachdem bestätigt wurde, dass das Git Plugin verfügbar ist, können Sie mit dem nächsten Schritt fortfahren, um ein Projekt zu erstellen, das Git verwendet.
Projekt erstellen und Git SCM konfigurieren
Nachdem das Git-Plugin installiert ist, können Sie nun ein Jenkins-Projekt erstellen und es so konfigurieren, dass Quellcode aus einem Git-Repository gezogen wird.
Kehren Sie zum Haupt-Jenkins-Dashboard zurück, indem Sie auf den Link Dashboard in der Breadcrumb-Navigation oben links klicken.
Klicken Sie in der linken Seitenleiste auf New Item.
Geben Sie git-integration-project als Namen für das Item ein.
Wählen Sie Freestyle project.
Klicken Sie auf OK.
Dadurch gelangen Sie zur Konfigurationsseite des Projekts.
Scrollen Sie nach unten zum Abschnitt Source Code Management.
Wählen Sie die Option Git. Wenn Sie diese Option nicht sehen, überprüfen Sie bitte, ob das Git-Plugin im vorherigen Schritt korrekt installiert wurde.
Geben Sie im Feld Repository URL den absoluten Pfad zu dem für Sie vorbereiteten lokalen Git-Repository ein:
https://github.com/labex-labs/git-playground
Lassen Sie den Branch Specifier auf dem Standardwert */master. Dies weist Jenkins an, den master-Branch zu verwenden.
Klicken Sie am Ende der Seite auf die Schaltfläche Save.
Sie haben erfolgreich einen Jenkins-Job erstellt, der mit einem Git-Repository verknüpft ist. Im nächsten Schritt definieren Sie, was der Job mit dem Code tun soll.
Build-Schritt hinzufügen und manuellen Build ausführen
Nachdem Jenkins weiß, woher der Code bezogen werden soll, müssen Sie ihm mitteilen, was mit diesem Code geschehen soll. Sie fügen einen Build-Schritt mit Shell-Befehlen hinzu und führen dann manuell einen Build aus, um ihn zu testen.
Klicken Sie auf der Projektseite für git-integration-project in der linken Seitenleiste auf Configure.
Scrollen Sie nach unten zum Abschnitt Build Steps.
Klicken Sie auf das Dropdown-Menü Add build step und wählen Sie Execute shell.
Geben Sie im Textbereich Command die folgenden Build-Befehle ein:
echo "Building the project..."
date
echo "Listing files in workspace:"
ls -la
echo "Build complete!"
Wenn der Job ausgeführt wird, klont Jenkins zunächst das Git-Repository in seinen Workspace und führt dann diese Befehle innerhalb dieses Workspaces aus.
Klicken Sie auf Save.
Sie sind nun zurück auf der Projektseite. Klicken Sie in der linken Seitenleiste auf Build Now, um einen Build zu starten.
Ein neuer Build wird im Bereich Build History angezeigt. Warten Sie, bis er abgeschlossen ist (das Status-Icon wird für Erfolg blau).
Klicken Sie auf die Build-Nummer (z. B. #1).
Klicken Sie im Menü des Builds auf Console Output.
Sie sollten eine Ausgabe sehen, die bestätigt, dass Jenkins das Repository geklont und Ihre Befehle erfolgreich ausgeführt hat.
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/git-integration-project
> git rev-parse --resolve-git-dir /var/jenkins_home/workspace/git-integration-project/.git ## timeout=10
...
[git-integration-project] $ /bin/sh -xe /tmp/jenkins123.sh
+ echo Building the project...
Building the project...
+ date
Mon Jan 1 12:01:00 UTC 2024
+ echo Listing files in workspace:
Listing files in workspace:
+ ls -la
total 24
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 .
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 ..
drwxr-xr-x 8 jenkins jenkins 4096 Aug 21 10:33 .git
-rw-r--r-- 1 jenkins jenkins 32 Aug 21 10:33 README.md
-rw-r--r-- 1 jenkins jenkins 15 Aug 21 10:33 file1.txt
-rw-r--r-- 1 jenkins jenkins 15 Aug 21 10:33 file2.txt
+ echo Build complete!
Build complete!
Finished: SUCCESS
Automatische Builds mit SCM Polling aktivieren
Manuelle Builds sind für Tests nützlich, aber die wahre Stärke von CI liegt in der Automatisierung. In diesem Schritt konfigurieren Sie Jenkins so, dass ein Build automatisch gestartet wird, sobald eine Änderung im Git-Repository erkannt wird.
Navigieren Sie zurück zur Konfigurationsseite für git-integration-project (Project Page > Configure).
Scrollen Sie nach unten zum Abschnitt Build Triggers.
Aktivieren Sie das Kontrollkästchen neben Poll SCM.
Ein Textfeld Schedule wird angezeigt. Dies verwendet die Cron-Syntax, um zu definieren, wie oft Jenkins das Repository auf Änderungen überprüfen soll. Um jede Minute zu pollen, geben Sie Folgendes ein:
* * * * *
Klicken Sie auf Save.
Da wir ein Remote-GitHub-Repository (https://github.com/labex-labs/git-playground) verwenden, können wir es nicht direkt ändern, um den Polling-Trigger zu testen. Sie können jedoch beobachten, wie SCM Polling funktioniert:
Kehren Sie zur Jenkins-UI zurück und gehen Sie zur Seite git-integration-project.
In der linken Seitenleiste sehen Sie eine neue Option namens Git Polling Log. Klicken Sie darauf.
Diese Seite zeigt die Polling-Aktivität an. Sie sollten Einträge wie diese sehen:
Started on Aug 21, 2025, 10:36:00 AM
Using strategy: Default
[poll] Last Built Revision: Revision d22f46ba8c2d4e07d773c5126e9c803933eb5898 (refs/remotes/origin/master)
The recommended git tool is: NONE
No credentials specified
> git --version ## timeout=10
> git --version ## 'git version 2.30.2'
> git ls-remote -h -- https://github.com/labex-labs/git-playground ## timeout=10
Found 3 remote heads on https://github.com/labex-labs/git-playground
[poll] Latest remote head revision on refs/heads/master is: d22f46ba8c2d4e07d773c5126e9c803933eb5898 - already built by 1
Done. Took 0.36 sec
No changes
Dies zeigt, dass Jenkins erfolgreich jede Minute das Remote-Repository auf Änderungen abfragt. In einem realen Szenario würde Jenkins einen neuen Build auslösen, wenn neue Commits in das Repository gepusht werden.
Sie können auch manuell einen weiteren Build auslösen, indem Sie auf Build Now klicken, um zu sehen, wie das Polling-System mit manuellen Builds integriert wird.
Zusammenfassung
In diesem Lab haben Sie praktische Erfahrungen mit einer der kritischsten Integrationen in einer CI-Pipeline gesammelt: der Verbindung von Jenkins mit einem Git-Repository für die Quellcodeverwaltung.
Sie haben erfolgreich:
Überprüft, ob das essentielle Git-Plugin verfügbar ist, um die Git-Integrationsfähigkeiten von Jenkins zu ermöglichen.
Ein Freestyle-Projekt erstellt und konfiguriert, um Code aus einem Git-Repository auszuchecken.
Einen Build-Schritt definiert, um ein Shell-Skript aus dem ausgecheckten Code auszuführen.
Das Setup durch Ausführen eines manuellen Builds verifiziert.
Einen automatisierten Build-Trigger mit Poll SCM eingerichtet, der es Jenkins ermöglicht, neue Commits automatisch zu erkennen und zu bauen.
Diese Fähigkeiten sind grundlegend für die Automatisierung Ihres Entwicklungs-Workflows und der erste Schritt zum Aufbau einer robusten und effizienten CI/CD-Pipeline mit Jenkins.