Wie kann ich den Zeitstempel des neuesten Builds von Jenkins erstellen? Ich möchte diesen Wert in Post-Build-Aktionen in den E-Mail-Betreff einfügen.Wie Build-Zeitstempel von Jenkins Build-Variablen erhalten?
Antwort
HINWEIS: Dies änderte sich in Jenkins 1.597, Bitte here für weitere Informationen siehe in Bezug auf die Migration
Sie sollten alle globalen Umgebungsvariablen betrachten können, die https://<your-jenkins>/env-vars.html
durch die Navigation während des Build zur Verfügung stehen.
Ersetzen Sie https://<your-jenkins>/
durch die URL, die Sie verwenden, um zur Jenkins-Webseite zu gelangen (z. B. http://localhost:8080/env-vars.html
).
Einer der Umgebungsvariablen ist:
...
BUILD_ID
The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
...
Wenn Sie jenkins editierbare E-Mail-Benachrichtigung verwenden, sollten Sie in der Lage sein ${ENV, var="BUILD_ID"}
in der Betreffzeile Ihrer E-Mail zu verwenden.
Verwenden Sie Build Timestamp Plugin
und verwenden Sie BUILD_TIMESTAMP
Variable.
Build Timestamp Plugin wird die beste Antwort sein, um die TIMESTAMPS
in den Build-Prozess zu bekommen.
Folgen Sie den nachstehenden einfachen Schritten, um die Variable "BUILD_TIMESTAMP"
zu aktivieren.
Schritt 1:
Manage Jenkins -> Plugin Manager -> Installed...
Search for "Build Timestamp Plugin".
Install with or without Restart.
SCHRITT 2:
Manage Jenkins -> Configure System.
Search for 'Build Timestamp' section, then Enable the CHECKBOX.
Select the TIMEZONE, TIME format you want to setup with..Save the Page.
USAGE:
When Configuring the Build with ANT or MAVEN,
Please declare a Global variable as,
E.G. btime=${BUILD_TIMESTAMP}
(use this in your Properties box in ANT or MAVEN Build Section)
use 'btime' in your Code to any String Variables etc..
Hallo. Ich verwende diese BUILD_TIMESTAMP-Variable. Aber mein Job läuft auf mehreren Slave-Maschinen (Knoten). Infolgedessen erhalte ich unterschiedliche Build-Zeiten für verschiedene Knoten. Irgendwie kann ich eine gemeinsame Zeit für alle Knoten bekommen, die im selben Job laufen. Vielen Dank –
Diese Antwort zeigt eine andere Methode „regexp Merkmal der Beschreibung Setter Plugin“ verwendet, die mein Problem gelöst, da ich nicht neuen Plugins auf Jenkins aufgrund Berechtigungsprobleme installieren könnte:
Ich weiß, dass es zu spät auf diese Frage antwortet, aber ich habe kürzlich eine bessere Lösung für dieses Problem gefunden, ohne ein Plugin zu installieren. Wir können eine formatierte Versionsnummer erstellen und können dann die erstellte Variable verwenden, um das Erstellungsdatum anzuzeigen. Schritte zu erstellen: Build-Umgebung -> Erstellen Sie eine formatierte Version Nummer:
Umgebungsvariable Name: BUILD_DATE
Versionsnummer Format String: $ {} BUILD_DATE_FORMATTED
das ist es. Verwenden Sie einfach die oben in der E-Mail-Betreffzeile erstellte Variable $ {ENV, var = "BUILD_DATE"} und Sie erhalten das Datum/die Uhrzeit des aktuellen Builds.
Danke Alex. Ich habe verwendet: $ BUILD_ID und Zentimestamp Plugin, um das Format zu ändern. – rkkreddy
ab Jenkins v.1.597 funktioniert diese Technik nicht https://wiki.jenkins-ci.org/display/JENKINS/JENKINS-24380+Migration –
@OK. es funktioniert eigentlich nicht wie vorher. Es enthält jetzt die Build-Nummer. Von 'env-vars.html':" _ ** BUILD_ID ** Die aktuelle Build-ID, identisch mit BUILD_NUMBER für Builds, die in 1.597+ erstellt wurden, aber ein YYYY-MM-DD_hh-mm-ss-Zeitstempel für ältere Builds_ ". – FrontierPsycho