Einführung
Willkommen zu diesem Lab über die Integration von Jenkins mit Git. Die Versionsverwaltung (Source Control Management, SCM) ist ein Eckpfeiler der modernen Softwareentwicklung. Die Anbindung Ihres Continuous Integration (CI)-Servers, wie Jenkins, an ein SCM-System wie Git ist ein grundlegender Schritt zur Automatisierung Ihrer Build- und Testprozesse.
In diesem Lab lernen Sie:
- Zu überprüfen, ob das Jenkins Git-Plugin verfügbar ist.
- Ein Freestyle-Projekt zu erstellen, das mit einem lokalen Git-Repository verknüpft ist.
- Einen Build-Schritt hinzuzufügen, um ein Skript aus dem Repository auszuführen.
- Einen Build manuell zu starten, um die Konfiguration zu testen.
- SCM-Polling zu konfigurieren, um Builds bei neuen Commits automatisch auszulösen.
Eine Jenkins-Instanz und ein kleines lokales Git-Repository sind für dieses Lab bereits vorbereitet. 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, Sie müssen die URL also nicht manuell eingeben. Es ist kein Login erforderlich.
Das Git-Plugin überprüfen
Jenkins verwendet Plugins, um Integrationen hinzuzufügen. Das Git-Plugin stellt die Git-Option bereit, die Sie in der Job-Konfiguration verwenden werden.
- Öffnen Sie den Firefox-Browser über die Desktop-Oberfläche. Der Browser öffnet sich automatisch unter
http://localhost:8080. Es ist kein Login erforderlich. - Klicken Sie auf dem Jenkins-Dashboard auf das Zahnrad-Symbol in der oberen rechten Ecke, um Manage Jenkins zu öffnen.
- Klicken Sie auf Plugins.
- Wählen Sie den Reiter Installed plugins.
- Geben Sie im Filterfeld
gitein. - Bestätigen Sie, dass Git in der Liste der installierten Plugins erscheint.

Nachdem das Git-Plugin bestätigt wurde, können Sie ein Projekt erstellen, das Quellcode aus einem Repository abruft.
Ein 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 es Quellcode aus dem im Jenkins-Container vorbereiteten lokalen Repository abruft.
- Kehren Sie zum Haupt-Dashboard von Jenkins 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-projectals Namen für das Element ein. - Wählen Sie Freestyle project.
- Klicken Sie auf OK.
Sie gelangen nun auf die Konfigurationsseite des Projekts.
- Scrollen Sie nach unten zum Abschnitt Source Code Management.
- Wählen Sie die Option Git. Falls 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 die für dieses Lab vorbereitete lokale Repository-URL ein:
git://localhost/git-playground.git
- Belassen Sie den Branch Specifier auf dem Standardwert
*/master. Dies weist Jenkins an, denmaster-Branch zu verwenden. - Klicken Sie unten auf der Seite auf die Schaltfläche Save.

Sie haben erfolgreich einen Jenkins-Job erstellt, der mit einem lokalen Git-Repository verknüpft ist. Im nächsten Schritt definieren Sie, was der Job mit dem ausgecheckten Code tun soll.
Einen Build-Schritt hinzufügen und einen manuellen Build ausführen
Nachdem Jenkins nun 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 diesen zu testen.
- Klicken Sie auf der Projektseite für
git-integration-projectin 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 from the Git repository"
./build.sh
Wenn der Job ausgeführt wird, klont Jenkins zuerst das Git-Repository in seinen Workspace und führt dann diese Befehle innerhalb dieses Workspaces aus. Das Skript build.sh stammt aus dem Repository; ein erfolgreicher Durchlauf beweist also, dass Jenkins den Code vor der Ausführung des Shell-Schritts ausgecheckt hat.
- Klicken Sie auf Save.
- Sie befinden sich nun wieder auf der Projektseite. Klicken Sie in der linken Seitenleiste auf Build Now, um einen Build zu starten.
Ein neuer Build erscheint im Bereich Build History. Warten Sie, bis er abgeschlossen ist (das Statussymbol wird blau für Erfolg).
- 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-integration-project] $ /bin/sh -xe /tmp/jenkins123.sh
+ echo Building from the Git repository
Building from the Git repository
+ ./build.sh
Repository build script running
Workspace: /var/jenkins_home/workspace/git-integration-project
README.md
build.sh
Finished: SUCCESS
Automatische Builds mit SCM-Polling aktivieren
Manuelle Builds sind nützlich für Tests, aber die wahre Stärke von CI liegt in der Automatisierung. In diesem Schritt konfigurieren Sie Jenkins so, dass das Git-Repository auf Änderungen abgefragt (gepollt) wird.
- Navigieren Sie zurück zur Konfigurationsseite für
git-integration-project(Projektseite > Configure). - Scrollen Sie nach unten zum Abschnitt Build Triggers.
- Aktivieren Sie das Kontrollkästchen neben Poll SCM.
- Ein Textfeld Schedule erscheint. Dies verwendet die Cron-Syntax, um festzulegen, wie oft Jenkins das Repository auf Änderungen prüfen soll. Um jede Minute zu pollen, geben Sie Folgendes ein:
* * * * *
- Klicken Sie auf Save.
Der Zeitplan wird mit der Job-Konfiguration gespeichert. Jenkins prüft nun einmal pro Minute das konfigurierte Repository und startet einen neuen Build, sobald ein neuer Commit erkannt wird.
- Kehren Sie zur Jenkins-Benutzeroberfläche zurück und rufen Sie die Seite
git-integration-projectauf. - In der linken Seitenleiste sehen Sie eine neue Option namens Git Polling Log. Klicken Sie darauf.
- Diese Seite zeigt die Polling-Aktivitäten an, nachdem Jenkins mindestens einen Polling-Zyklus durchlaufen hat. Es kann bis zu einer Minute dauern, bis der erste Eintrag erscheint. Sie sollten Einträge wie diese sehen:
Started on ...
Using strategy: Default
[poll] Last Built Revision: Revision ...
The recommended git tool is: NONE
No credentials specified
> git --version ## timeout=10
> git ls-remote -h -- git://localhost/git-playground.git ## timeout=10
...
No changes

Dies zeigt, dass Jenkins so konfiguriert ist, dass das Repository automatisch abgefragt wird. In einem realen Projekt würde das Repository normalerweise auf einem Git-Server gehostet werden, und Jenkins würde bei neuen Commits automatisch einen Build auslösen.
Zusammenfassung
In diesem Lab haben Sie praktische Erfahrungen mit einer der wichtigsten Integrationen in einer CI-Pipeline gesammelt: der Anbindung von Jenkins an ein Git-Versionsverwaltungs-Repository.
Sie haben erfolgreich:
- Überprüft, ob das essenzielle Git-Plugin verfügbar ist, um die Git-Integrationsfunktionen von Jenkins zu aktivieren.
- Ein Freestyle-Projekt erstellt und so konfiguriert, dass Code aus einem Git-Repository ausgecheckt wird.
- Einen Build-Schritt definiert, um ein Shell-Skript aus dem ausgecheckten Code auszuführen.
- Die Einrichtung durch einen manuellen Build verifiziert.
- Einen automatisierten Build-Trigger mittels 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.

