Подтвердить что ты не робот

Как получить доступ к переменным в gitlab-ci.yml с помощью gitlab-ci-multi-runner на окнах

Я не могу узнать, как обращаться к переменным в build- script, предоставленным gitlab-ci.yml -file.

Я попытался объявить переменные двумя способами:

  • Частные переменные в веб-интерфейсе GitLab CI
  • Переменные переопределения /apennding в config.toml

Я пытаюсь получить к ним доступ в моих командах gitlab-ci.yml -files:

msbuild ci.msbuild [...] /p:Configuration=Release;NuGetOutputDir="$PACKAGE_SOURCE"

где $PACKAGE_SOURCE - желаемая переменная (PACKAGE_SOURCE), но она не работает (она, похоже, не заменяется). Выполнение одной и той же команды вручную работает так же, как и ожидалось (заменяя имя переменной содержимым)

Есть ли другой синтаксис, который я не знаю?

Я пробовал:

$PACKAGE_SOURCE
$(PACKAGE_SOURCE)
${PACKAGE_SOURCE}

PS: проверка бегуна не вызывает проблем, если это имеет значение.

4b9b3361

Ответ 1

Я полагаю, вы используете Windows для своего бегуна? У меня была та же проблема, и я даже не мог заставить работать следующее:

script:
  - echo $MySecret

Однако, читая документацию Gitlab, в нем есть запись для синтаксиса переменных среды в сценариях заданий:

Чтобы получить доступ к переменным среды, используйте синтаксис для вашей оболочки Runners

Что имеет смысл, так как большинство приведенных примеров для Bash Runners. Для моего Windows Runner он использует %variable%.

Я изменил свой сценарий на следующий, который работал для меня. (Подтверждено просмотром результатов сборки.)

script:
  - echo %MySecret%

Если вы используете PowerShell для своего бегуна, синтаксис будет $env:MySecret