Gibt es eine Möglichkeit, die aktuelle BUILD_NUMBER an Gradle deamon von Jenkins Build zu übergeben?

8

Ich greife auf die Jenkins-Build-Nummer im Gradle-Skript zu, indem ich Folgendes aufruft:

%Vor%

Es funktioniert gut, wenn ich das Build zum ersten Mal starte. Wenn der Build zum zweiten Mal ausgeführt wird, wird die Anzahl nicht erhöht, sondern bleibt gleich beim vorherigen Build-Lauf. Ich benutze 4.4.1 Version von Gradle. Ich erinnere mich nicht, das gleiche Problem mit früheren Versionen zu haben.

Meine aktuelle Problemumgehung besteht darin, den Parameter --no-daemon an Gradle zu übergeben. Auf diese Weise kann ich jedoch nicht von der Daemon-Funktion profitieren. Gibt es eine Möglichkeit, Daemons zu verwenden und trotzdem die korrekte Build-Nummer in Gradle Build zu erhalten?

    
Dan 02.01.2018, 23:42
quelle

3 Antworten

3

Verwenden Sie Java 9? Mit Java 9 ist es für Gradle nicht mehr möglich, die Umgebung des Daemon zu ändern - so können Sie keine Eigenschaften mit Umgebungsvariablen übergeben. Sie sollten die folgende Warnung in Ihren Protokollen sehen:

%Vor%

Sie können die 'BUILD_NUMBER' als Systemeigenschaft ( -DbuildNumber=$BUILD_NUMBER ) oder eine Gradle-Projekteigenschaft ( -PbuildNumber=$BUILD_NUMBER ) stattdessen über die Befehlszeile von Gradle übergeben.

    
wolfs42 05.01.2018, 21:59
quelle
0

Es scheint, dass dies diskutiert und gelöst wurde in den grandle forums , indem Sie das System env in a spezieller Block:

%Vor%     
tkruse 05.01.2018 05:23
quelle
0

Normalerweise erstelle ich einen Schlüssel-Wert-Speicher mit einem Zeitstempel, der redis verwendet, um Build-Nummern zu speichern. Auf diese Weise kann ich Daten isolieren und abrufen und Daten zwischen jedem Client zurücksenden.

    
Remario 12.01.2018 00:08
quelle