J'essaie d'utiliser variables d'environnement Jenkins (globales) dans mon script xcopy.
${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work
Je ne connais rien à Jenkins, mais on dirait que vous essayez d'accéder aux variables d'environnement en utilisant une forme de syntaxe unix - cela ne fonctionnera pas.
Si le nom de la variable est WORKSPACE, la valeur est développée dans un lot Windows à l'aide de%WORKSPACE%
. Cette forme d'expansion est effectuée au moment de l'analyse. Par exemple, cela affichera à l'écran la valeur de WORKSPACE
echo %WORKSPACE%
Si vous avez besoin de la valeur au moment de l'exécution, vous devez utiliser l'expansion retardée !WORKSPACE!
. L'expansion retardée n'est normalement pas activée par défaut. Utilisation SETLOCAL EnableDelayedExpansion
pour l'activer. Une expansion retardée est souvent nécessaire car les blocs de code entre parenthèses sont analysés en une seule fois. Par conséquent, une valeur affectée dans le bloc ne peut pas être lue ultérieurement dans le même bloc, à moins que vous n'utilisiez une expansion retardée.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
La sortie de ce qui précède est
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Utilisation HELP SET
ou SET /?
sur la ligne de commande pour obtenir plus d’informations sur les variables d’environnement Windows et les différentes options d’extension. Par exemple, il explique comment effectuer des opérations de recherche/remplacement et de sous-chaîne.
Dans Windows, vous devriez utiliser %WORKSPACE%
.
Je devrais ceci Sous Windows, l’extension de la variable d’environnement est% BUILD_NUMBER%