Grundlegende Freestyle-Projekte konfigurieren

JenkinsBeginner
Jetzt üben

Einführung

Willkommen zu diesem Lab über die Konfiguration grundlegender Freestyle-Projekte in Jenkins. Das Freestyle-Projekt ist eine äußerst flexible und einfach zu bedienende Option in Jenkins, die für jede Art von Projekt geeignet ist. Es ermöglicht Ihnen, Build-Trigger, Build-Schritte und Post-Build-Aktionen über eine webbasierte grafische Oberfläche zu konfigurieren.

In diesem Lab lernen Sie, wie Sie:

  • Shell-Befehle als Build-Schritte zu einem Projekt hinzufügen.
  • Builds planen, damit sie automatisch über Trigger ausgeführt werden.
  • Build-Artefakte zur späteren Verwendung archivieren.
  • Post-Build-Aktionen wie die Bereinigung des Workspace konfigurieren.

Eine Jenkins-Instanz läuft bereits, und für Sie wurde ein einfaches Freestyle-Projekt namens sample-project erstellt. 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.

Build-Schritt hinzufügen

In diesem Schritt fügen Sie Ihrem Freestyle-Projekt einen Build-Schritt hinzu. Build-Schritte sind der Kern eines Projekts und definieren die Aktionen, die Jenkins ausführen wird, wie z. B. das Kompilieren von Code, das Ausführen von Tests oder das Ausführen von Shell-Skripten.

Navigieren wir zunächst zur Konfigurationsseite des Projekts.

  1. Ö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.
  2. Auf dem Jenkins-Dashboard sehen Sie das Projekt sample-project. Klicken Sie auf dessen Namen, um zur Projektseite zu gelangen.
  3. Klicken Sie im linken Menü auf Configure (Konfigurieren).
Jenkins project page

Nun befinden Sie sich auf der Konfigurationsseite des Projekts. Fügen wir einen Build-Schritt hinzu.

  1. Scrollen Sie nach unten zum Abschnitt Build Steps (Build-Schritte).
  2. Klicken Sie auf die Dropdown-Schaltfläche Add build step (Build-Schritt hinzufügen) und wählen Sie Execute shell (Shell ausführen).
Build Steps section
  1. Ein Textfeld wird angezeigt. Geben Sie die folgenden Befehle in das Feld Command (Befehl) ein:
echo "Building the project..."
date
echo "Build complete."
  1. Klicken Sie unten auf der Seite auf die Schaltfläche Save (Speichern).

Sie haben nun einen Build-Schritt konfiguriert. Führen wir den Build aus, um ihn in Aktion zu sehen.

  1. Klicken Sie auf der Projektseite im linken Menü auf Build Now (Jetzt bauen).
  2. Ein neuer Build erscheint im Abschnitt Build History (Build-Verlauf). Klicken Sie auf die Build-Nummer (z. B. #1).
  3. Klicken Sie im linken Menü für diesen Build auf Console Output (Konsolenausgabe).

Sie sehen die Ausgabe der von Ihnen hinzugefügten Shell-Befehle, was bestätigt, dass Ihr Build-Schritt erfolgreich ausgeführt wurde.

Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/sample-project
[sample-project] $ /bin/sh -xe /tmp/jenkins12345.sh
+ echo 'Building the project...'
Building the project...
+ date
Tue Jan 1 12:00:00 UTC 2024
+ echo 'Build complete.'
Build complete.
Finished: SUCCESS

Builds mit Triggern planen

In diesem Schritt lernen Sie, wie Sie Builds mithilfe von Build-Triggern automatisch planen. Dies ist eine grundlegende Funktion für die kontinuierliche Integration, die es Ihnen ermöglicht, Builds periodisch auszuführen.

  1. Navigieren Sie zurück zur Konfigurationsseite des sample-project (Projektseite > Configure).
  2. Suchen Sie den Abschnitt Build Triggers.
  3. Aktivieren Sie das Kontrollkästchen neben Build periodically.
Build Triggers section
  1. Ein Textbereich Schedule wird angezeigt. Dieses Feld verwendet die Cron-Syntax, um den Zeitplan zu definieren. Die Syntax besteht aus 5 durch Leerzeichen getrennten Feldern: MINUTE HOUR DAYOFMONTH MONTH DAYOFWEEK.
  2. Um den Build ungefähr jede Minute auszuführen, geben Sie Folgendes in das Feld Schedule ein:
* * * * *

Dieser Cron-Ausdruck bedeutet "jede Minute ausführen". Obwohl Jenkins das H-Symbol zur Lastverteilung unterstützt, führt H/1 * * * * tatsächlich nur einmal pro Stunde aus, nicht jede Minute. Um wirklich jede Minute auszuführen, verwenden Sie * * * * *.

  1. Klicken Sie auf Save.

Jenkins wird nun automatisch etwa einmal pro Minute einen neuen Build für sample-project auslösen. Sie können dies beobachten, indem Sie die Build History auf der Projektseite verfolgen.

Build-Artefakte archivieren

In diesem Schritt lernen Sie, wie Sie Build-Artefakte archivieren. Artefakte sind die Ausgabedateien, die von einem Build erzeugt werden, wie z. B. kompilierte Binärdateien oder Berichte. Durch das Archivieren dieser Dateien werden sie nach Abschluss des Builds zum Download bereitgestellt.

Zuerst müssen wir unseren Build-Schritt ändern, um eine Datei zu erstellen, die wir archivieren können.

  1. Navigieren Sie zur Konfigurationsseite des sample-project.
  2. Scrollen Sie zum Abschnitt Build Steps und suchen Sie Ihr Execute shell-Befehlsfeld.
  3. Fügen Sie eine neue Zeile zum Skript hinzu, um eine Datei namens build-info.txt zu erstellen. Die Variable $BUILD_NUMBER ist eine von Jenkins bereitgestellte Umgebungsvariable, die die aktuelle Build-Nummer enthält.
echo "Building the project..."
date
echo "Build complete."
echo "This artifact is from build #$BUILD_NUMBER" > build-info.txt

Als Nächstes konfigurieren wir eine Post-Build-Aktion, um diese Datei zu archivieren.

  1. Scrollen Sie nach unten zum Abschnitt Post-build Actions.
  2. Klicken Sie auf das Dropdown-Menü Add post-build action und wählen Sie Archive the artifacts.
Add post-build action dropdown
  1. Geben Sie im Feld Files to archive den Namen der Datei ein, die Sie archivieren möchten: build-info.txt. Sie können auch Wildcards wie **/*.jar verwenden, um mehrere Dateien zu archivieren.
  2. Klicken Sie auf Save.

Führen Sie nun einen neuen Build aus, indem Sie auf Build Now klicken. Sobald der Build abgeschlossen ist:

  1. Klicken Sie auf die neueste Build-Nummer in der Build History.
  2. Auf der Statusseite des Builds sehen Sie einen Abschnitt namens Build Artifacts mit einem Link zu build-info.txt. Sie können darauf klicken, um die Datei anzuzeigen oder herunterzuladen.
Completed build page

Arbeitsbereichsbereinigung konfigurieren

In diesem letzten Konfigurationsschritt fügen Sie eine Post-Build-Aktion hinzu, um den Workspace zu bereinigen. Dies ist eine gute Praxis, um Speicherplatz zu sparen und sicherzustellen, dass jeder Build in einer sauberen Umgebung startet, wodurch Interferenzen durch Dateien aus früheren Builds vermieden werden.

  1. Gehen Sie zur Konfigurationsseite des sample-project.
  2. Scrollen Sie zum Abschnitt Post-build Actions.
  3. Klicken Sie auf das Dropdown-Menü Add post-build action und wählen Sie Delete workspace when build is done.
Add post-build action dropdown
  1. Klicken Sie auf Save.

Nachdem jeder Build des sample-project abgeschlossen ist, löscht Jenkins alle Dateien im Workspace-Verzeichnis. Beachten Sie, dass archivierte Artefakte separat gespeichert werden und von der Workspace-Bereinigung nicht betroffen sind. Dies stellt sicher, dass Ihre Build-Artefakte verfügbar bleiben, während die Build-Umgebung für den nächsten Lauf sauber gehalten wird.

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs. Sie haben die Grundlagen der Konfiguration eines Jenkins Freestyle-Projekts erfolgreich erlernt.

In diesem Lab haben Sie Folgendes geübt:

  • Hinzufügen eines Execute shell-Befehls als Build-Schritt.
  • Einrichten eines Build Trigger, um Builds periodisch mithilfe der Cron-Syntax zu planen.
  • Erstellen und Archivieren von Build-Artefakten.
  • Konfigurieren einer Post-build Action, um den Workspace nach einem Build zu löschen.

Dies sind wesentliche Fähigkeiten zur Automatisierung Ihrer Build-, Test- und Deployment-Prozesse mit Jenkins. Sie können diese Konzepte nun anwenden, um Ihre eigenen CI/CD-Pipelines zu erstellen und zu verwalten.