Non so nulla di Jenkins, ma sembra che tu stia cercando di accedere alle variabili di ambiente usando una qualche forma di sintassi unix - che non funzionerà.
Se il nome della variabile è WORKSPACE, il valore viene espanso nel batch di Windows utilizzando
%WORKSPACE%
. Questa forma di espansione viene eseguita in fase di analisi. Ad esempio, questo stamperà a schermo il valore di luogo di lavoro
echo %WORKSPACE%
Se è necessario il valore in fase di esecuzione, quindi è necessario utilizzare l'espansione ritardata !WORKSPACE!
. L'espansione ritardata non è normalmente abilitata di default. Utilizzare SETLOCAL EnableDelayedExpansion
per abilitarlo. L'espansione ritardata è spesso necessaria perché i blocchi di codice tra parentesi vengono analizzati tutti in una volta, quindi un valore assegnato all'interno del blocco non può essere letto più tardi all'interno dello stesso blocco a meno che non si usi l'espansione ritardata.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
L'uscita del sopra è
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Usa HELP SET
o SET /?
dalla riga di comando per ottenere ulteriori informazioni sulle variabili di ambiente di Windows e le varie opzioni di espansione. Ad esempio, spiega come eseguire operazioni di ricerca/sostituzione e sottostringa.
Mi sono completamente dimenticato di quel piccolo dettaglio schifoso di finestre. Grazie ! – JoxTraex
abbiamo perso così tanto tempo su questo grazie –
@UtsavGupta Sono stato anche bloccato su questo. Stavo usando $ BUILD_ID in precedenza. Ora felice con% BUILD_ID% su Windows. –