18

我不知道如何访问gitlab-ci.yml-file 提供的构建脚本中的变量。

我尝试以两种方式声明变量:

  1. GitLab CI Web 界面中的私有变量
  2. 变量覆盖/追加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:验证跑步者不会引起任何问题,如果这很重要的话。

4

1 回答 1

33

我想你正在为你的跑步者使用 Windows?我自己也遇到了同样的问题,甚至无法使以下工作:

script:
  - echo $MySecret

但是,阅读 Gitlab 文档,它有一个作业脚本中环境变量语法的条目:

要访问环境变量,请使用 Runner 的 shell 的语法

这是有道理的,因为给出的大多数示例都是针对 bash 跑步者的。对于我的 windows runner,它使用%variable%.

我将脚本更改为以下内容,这对我有用。(通过观察构建输出确认。)

script:
  - echo %MySecret%

如果您为跑步者使用 powershell,则语法为$env:MySecret

于 2015-07-24T23:36:29.790 回答