web-dev-qa-db-fra.com

Comment les variables d'environnement sont-elles utilisées dans Jenkins avec Windows Batch Command?

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
65
DonBecker

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.

119
dbenham

Dans Windows, vous devriez utiliser %WORKSPACE%.

25
Volodymyr Bezuglyy

Je devrais ceci Sous Windows, l’extension de la variable d’environnement est% BUILD_NUMBER%

0
Aykut ÇALIŞKAN