So geben Sie einen Wert für eine Jenkins-Umgebungsvariable an, die ein Leerzeichen enthält

8

Ich versuche, einen Wert für eine Jenkins-Umgebungsvariable anzugeben (wie er im Bildschirm "Jenkins verwalten - & gt; System konfigurieren unter der Überschrift" Globale Eigenschaften "erstellt wurde), der ein Leerzeichen enthält. Ich möchte diese Umgebungsvariable in einem Build-Shell-Build-Schritt verwenden. Die Option, die ich in der Befehlszeile im Build-Schritt erscheinen muss, ist:

%Vor%

Die Syntax, die ich in der Befehlszeile verwende, ist --platform=${VARIABLE_NAME}

Egal wie ich es zu formatieren versuche, Jenkins scheint es neu zu formatieren, so dass es als zwei Werte behandelt wird. Ich habe es versucht:

  • Windows 7
  • "Windows 7"
  • 'Windows 7'
  • Windows \ 7

Die entsprechenden Ergebnisse bei der Ausgabe während des Build-Schritts "Shell ausführen" lauteten:

  • - Plattform = Windows 7
  • '- platform="Windows' '7"'
  • '- platform =' \ '' Windows '' 7 '\' ''
  • - Plattform = Windows / 7

Ich habe auch versucht, meine Befehlszeilensyntax in --platform='${VARIABLE_NAME}' sowie '--platform=${VARIABLE_NAME}' zu ändern, aber in jedem dieser Fälle wird ${VARIABLE_NAME} überhaupt nicht aufgelöst und erscheint nur als ${VARIABLE_NAME} im resultierenden Befehl.

Ich hoffe, es gibt einen Weg, dies zum Funktionieren zu bringen. Irgendwelche Vorschläge werden am meisten geschätzt.

    
BobSilverberg 10.07.2013, 14:38
quelle

1 Antwort

6

Sie sollten Leerzeichen ohne Sonderzeichen im Abschnitt mit den globalen Eigenschaften verwenden können.

Ich habe zum Beispiel eine Variable "THIS_VAL" auf den Wert "HAS SPACES" gesetzt.

Mein Testaufbaujob war folgender:

%Vor%

und die Ausgabe war

%Vor%

Ich denke, was Sie tun müssen, ist Folgendes:

%Vor%

HINWEIS: Verwenden Sie doppelte Anführungszeichen, keine einfachen Anführungszeichen . Durch Verwendung von einfachen Anführungszeichen wird der Inhalt innerhalb des Anführungszeichen-Literals gesetzt, was bedeutet, dass alle Variablen so gedruckt werden, wie sie sind, und nicht in den tatsächlichen Wert zerlegt werden. Daher wird '$ {VARIABLE_NAME}' so gedruckt, wie es ist, nicht in 'Windows 7' geparst.

BEARBEITEN: Berücksichtigen Sie basierend auf dem Kommentar von @BobSilverberg Folgendes:

%Vor%

Hinweis: keine geschweiften Klammern.

    
Sagar 10.07.2013, 15:13
quelle