Comment accéder aux variables dans gitlab-ci.YML utilisant gitlab-ci-multi-runner sur windows
Je ne peux pas trouver comment accéder aux variables dans un script de construction fourni par le gitlab-ci.yml
-fichier.
j'ai essayé de déclarer des variables de deux façons:
- Variables privées dans L'Interface Web de GitLab CI
- overrides de variables / apennding in
config.toml
j'essaie d'accéder à mon gitlab-ci.yml
-les fichiers de commandes comme ça:
msbuild ci.msbuild [...] /p:Configuration=Release;NuGetOutputDir="$PACKAGE_SOURCE"
où $PACKAGE_SOURCE
est la variable désirée (PACKAGE_SOURCE
) mais il ne fonctionne pas (il ne semble pas être remplacé). Exécuter manuellement la même commande fonctionne comme prévu (en remplaçant le nom de la variable par son contenu)
Est-il un autre syntaxe requise je ne suis pas au courant?
j'ai essayé:
$PACKAGE_SOURCE
$(PACKAGE_SOURCE)
${PACKAGE_SOURCE}
PS: La Vérification du coureur ne soulève aucun problème, si cela est important.
1 réponses
je présume que vous utilisez Windows pour votre coureur? J'ai eu le même problème moi-même et ne pouvait même pas obtenir le suivant:
script:
- echo $MySecret
Cependant, je lisais c'Gitlab CI de la documentation sur les variables et a résolu le problème quand il a dit
les variables sont définies comme variables d'environnement dans l'environnement de construction et sont accessibles avec les méthodes normales qui sont utilisées pour accéder à de telles variables
Qui, de bien sûr, la plupart des exemples donnés sont pour bash. Pour Windows, il utilise %var%. Alors je l'ai changé en ce qui suit, ce qui a fonctionné pour moi. (Confirmé en regardant la sortie de construction.)
script:
- echo %MySecret%
une mise en garde est que je pense que cela est probablement aussi affecté par la coquille que vous choisissez lors de la configuration de votre coureur, bien que je n'ai pas essayé ceux.