Bewahre ein herunterladbares Veranstaltungspaket auf

JenkinsBeginner
Jetzt üben

Einführung

Walk Weekender bereitet Besuchermaterialien für eine fiktive Veranstaltung am Fluss vor. Das Paket enthält eine kleine Website, eine Routenillustration, eine CSV-Datei mit den Haltepunkten und Hinweise für Besucher. Jenkins verfügt bereits über ein funktionierendes Programm zur Paketerstellung, doch sein temporäres Arbeitsverzeichnis wird nach jedem Durchlauf geleert. Deine Aufgabe ist es, ein vollständiges, herunterladbares Ergebnis aufzubewahren, das seinem Build zugeordnet ist.

Dieses Lab setzt grundlegende Kenntnisse der Navigation in Jenkins, das Erkennen einer kurzen Declarative Pipeline und grundlegenden Umgang mit Dateien einschließlich des Entpackens einer ZIP-Datei voraus. Es erklärt Archivierung, Fingerprints und den Lebenszyklus des Arbeitsverzeichnisses, bevor du sie verwendest. Du musst weder die Website schreiben noch Software installieren oder Java kennen.

Verwende Pack Desk für die Referenzansicht aus Besuchersicht und Jenkins für Builds und Konfiguration. Dies sind zwei Dienste in einer vorbereiteten VM. Browserdownloads werden auf deinem Computer gespeichert, getrennt von den Jenkins-Dateien in der Übungs-VM. Jede Einheit beginnt unabhängig. Die Dauer ist eine Schätzung des Autors, die das Lesen und gewöhnliche Fehler einschließt; sie wurde nicht mit Anfängern gemessen.

Sieh nach, wo die erstellten Dateien bleiben

In diesem Schritt untersuchst du die erwarteten Besuchermaterialien, führst den ursprünglichen Job aus und erfährst, warum ein erfolgreicher Build nicht automatisch ein herunterladbares Paket hinterlässt. Beginne in Pack Desk.

Angefordert ist Riverwalk Saturday, Besucherausgabe RW-02. Wähle im Abschnitt Reference visitor pack den Eintrag Open the reference pack. Die Referenz zeigt das erwartete Erlebnis für Besucher; dein Ergebnis wird die ZIP-Datei sein, die dein eigener Jenkins-Build aufbewahrt.

Wähle Explore the route. Die Route hat drei nummerierte Haltepunkte: Garden gate, Willow bridge und Orchard yard. Wähle Download all route stops und öffne die gespeicherte CSV-Datei mit deinem üblichen Text- oder Tabellenbetrachter. CSV ist ein Textformat, dessen Felder durch Kommas getrennt sind; seine erste Zeile benennt die Spalten. Der Anfang lautet:

order,stop_id,name,map_x,map_y,visitor_note
1,gate,Garden gate,150,340,Meet beside the blue gate.

Wähle Read the visitor notes und lies die heruntergeladene Textdatei. Die bestätigte Treffzeit ist 10:00. Diese Dateien, die funktionierenden Seiten und das Routenbild gehören zusammen. Das Herunterladen einer Datei verändert die Seite nicht. Verwende zweimal die Browseraktion Back, um von der Routenseite über die Paketübersicht zum Desk zurückzukehren.

Wechsle zum Tab Jenkins. Öffne create-riverwalk-pack und wähle Build with Parameters. Warte, bis das Parameterformular vollständig geladen ist. Belasse EDITION auf river-v2 und wähle Build. Dieser Parameter wählt die vorbereitete Besucherausgabe aus; das bereitgestellte Programm erstellt ihre tatsächliche ZIP-Datei.

Warte, bis der nummerierte Build abgeschlossen ist. Öffne diesen Build unter Builds und wähle dann Console Output. Suche diese Zeilen:

Prepared visitor edition: Riverwalk Saturday / RW-02
Complete event-pack.zip created.
...
Finished: SUCCESS

Das Programm hat das Paket tatsächlich erstellt. Lies weiter unten im Pipeline-Protokoll unter den abschließenden Post-Aktionen nach [Pipeline] deleteDir. Die bereitgestellte Bereinigung entfernt die Dateien im Arbeitsverzeichnis dieses Durchlaufs, nachdem seine Stages abgeschlossen sind.

Ein Workspace ist das Arbeitsverzeichnis, das Jenkins der Ausführung eines Jobs zuweist. Ein Build kann dort Dateien erstellen und sie später wieder entfernen. SUCCESS beschreibt das Ergebnis des Durchlaufs; es bedeutet nicht, dass Jenkins automatisch jede erzeugte Datei aufbewahrt hat.

Kehre über den entsprechenden Link in der Brotkrumennavigation zur Statusseite dieses nummerierten Builds zurück. Für diesen ursprünglichen Durchlauf gibt es keinen Artefaktdownload von event-pack.zip. Der Job hat die Dateien erstellt und anschließend entfernt, ohne vorher ein Archiv aufzubewahren. Behalte diesen Build im Verlauf, damit du ihn mit dem nächsten Durchlauf vergleichen kannst.

Bewahre das Archiv vor der Bereinigung auf

In diesem Schritt bewahrst du die vollständige Besucher-ZIP-Datei auf, behältst die Bereinigung des Arbeitsverzeichnisses bei und verwendest die heruntergeladenen Dateien. Beginne auf der Jobseite von create-riverwalk-pack in Jenkins.

Wähle Configure und dann den Abschnitt Pipeline. Sein Editor Script enthält die bereitgestellten Build-Stages und einen Block post. Der Abschnitt always in diesem Block wird nach den Stages ausgeführt, auch wenn ein Durchlauf fehlschlägt. Seine Operation deleteDir() leert das zugewiesene Arbeitsverzeichnis; behalte diese Bereinigung bei.

archiveArtifacts kopiert ausgewählte Dateien aus dem Arbeitsverzeichnis vor der Bereinigung in die aufbewahrten Artefakte des Builds. Seine Einstellung artifacts ist ein Dateiname oder Muster relativ zu diesem Arbeitsverzeichnis. Die einfachen Anführungszeichen um 'event-pack.zip' kennzeichnen eine Zeichenkette. fingerprint: true erfasst außerdem die Jenkins-Kennung für die Dateiverwendung, mit der du diese ZIP-Datei im nächsten Guided Lab zwischen Jobs nachverfolgen kannst. Ein Fingerprint erfasst die Identität und Verwendung einer Datei; er ist keine Signatur eines Herausgebers.

Der Doppelpunkt trennt jede Einstellung von ihrem Wert, und das Komma trennt die Einstellungen. Füge eine Stage Archive pack nach Build pack innerhalb von stages hinzu. Behalte den Parameter, den Buildbefehl und die Bereinigung bei. Für eine vollständig kopierbare Fassung klicke in Script, markiere den gesamten Inhalt unter Windows/Linux mit Ctrl+A oder unter macOS mit Command+A und ersetze ihn durch:

pipeline {
    agent any
    parameters {
        choice(name: 'EDITION', choices: ['river-v2'], description: 'Visitor edition to prepare')
    }
    stages {
        stage('Prepare workspace') {
            steps { deleteDir() }
        }
        stage('Build pack') {
            steps { sh 'sh /var/jenkins_home/walk-pack-fixtures/build-pack.sh' }
        }
        stage('Archive pack') {
            steps {
                archiveArtifacts artifacts: 'event-pack.zip', fingerprint: true
            }
        }
    }
    post {
        always { deleteDir() }
    }
}

Wähle Save. Führe erneut Build with Parameters aus. Warte, bis das Parameterformular vollständig geladen ist, belasse EDITION auf river-v2 und wähle Build. Warte, bis dieser neue nummerierte Build erfolgreich abgeschlossen ist. Seine Konsole sollte Archiving artifacts, Recording fingerprints und die abschließende Bereinigung zeigen.

Öffne die Statusseite des neuen Builds und suche Build Artifacts. Lade event-pack.zip herunter. Jenkins hat diese ZIP-Datei als Teil dieses Builds aufbewahrt, obwohl das Arbeitsverzeichnis geleert wurde.

Entpacke die gesamte ZIP-Datei mit dem Archivprogramm deines Computers in einen neuen Ordner. Öffne index.html aus diesem entpackten Ordner in einem Browser. Behalte alle acht Dateien zusammen:

index.html
route.html
styles.css
route-map.png
stops.csv
visitor-notes.txt
event.json
build.json

Prüfe Riverwalk Saturday, die Ausgabe RW-02 und die Treffzeit 10:00. Folge Explore the route, sieh dir alle drei Haltepunkte an, lade die Routen-CSV herunter und wähle Read the visitor notes, um die lokale Textdatei zu lesen. Je nach Browser öffnet sich diese Textdatei möglicherweise direkt auf einer Seite, anstatt einen weiteren Download zu starten; sie ist bereits im entpackten Ordner enthalten. Das Bild und die Links verwenden lokale Dateien, sodass dieses Besucherpaket unabhängig von der Übungs-VM verwendet werden kann.

Besucherpaket mit der bestätigten Treffzeit und seiner tatsächlichen Routenillustration

Falls der entpackten Seite die Gestaltung oder ein Bild fehlt, prüfe, ob du die gesamte ZIP-Datei entpackt und index.html neben styles.css und route-map.png geöffnet hast. Wenn du nur eine HTML-Datei innerhalb eines ZIP-Betrachters öffnest, kann sie von ihren Ressourcen getrennt sein. Entpacke den ursprünglichen Download in einen neuen Ordner, anstatt die Dateien neu zu erstellen.

Falls Jenkins einen Groovy-Syntaxfehler meldet, kehre zu Configure zurück, stelle das vollständige Skript oben wieder her, wähle Save und führe river-v2 erneut aus. Behalte die geschweiften Klammern und einfachen Anführungszeichen bei. Falls du das Skript vor dem ersten ursprünglichen Durchlauf bearbeitet hast, entferne vorübergehend nur Archive pack, speichere und führe den Job einmal aus; stelle danach das vollständige Skript wieder her und führe ihn erneut aus.

Das endgültige Ergebnis muss aus der aktuell gespeicherten Pipeline stammen. Führe sie nach jeder weiteren Bearbeitung erneut aus. Behalte die früheren Builds und die bereitgestellten Paketdateien bei. Diese Übungs-VM ist temporär; bewahre deine heruntergeladene Kopie nach Abschluss des Labs auf.

Zusammenfassung

Du hast beobachtet, wie ein tatsächlich erstelltes Paket aus einem temporären Arbeitsverzeichnis verschwand, und anschließend die vollständige ZIP-Datei durch Archivierung und Fingerprinting in Jenkins aufbewahrt. Du hast die Bereinigung beibehalten, das ursprüngliche Buildartefakt heruntergeladen und seine Seiten, sein Bild, seine Routendaten und Besucherhinweise als ein eigenständig nutzbares Besucherpaket verwendet.