如何在windows上使用gitlab-ci-multi-runner访问gitlab-ci.yml中的变量

noz*_*man 16 gitlab gitlab-ci gitlab-ci-runner

我无法找到如何在gitlab-ci.yml-file 提供的构建脚本中访问变量.

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

  1. GitLab CI Web界面中的私有变量
  2. 变量覆盖/ apennding in config.toml

我尝试在我的gitlab-ci.yml-files命令中访问它们:

msbuild ci.msbuild [...] /p:Configuration=Release;NuGetOutputDir="$PACKAGE_SOURCE"
Run Code Online (Sandbox Code Playgroud)

在哪里$PACKAGE_SOURCE是所需的变量(PACKAGE_SOURCE)但它不起作用(它似乎没有被替换).手动执行相同的命令就像预期的那样(用其内容替换变量名)

是否还需要一些我不知道的其他语法?

我试过了:

$PACKAGE_SOURCE
$(PACKAGE_SOURCE)
${PACKAGE_SOURCE}
Run Code Online (Sandbox Code Playgroud)

PS:如果重要的话,验证跑步者不会引起任何问题.

Jim*_*Jim 29

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

script:
  - echo $MySecret
Run Code Online (Sandbox Code Playgroud)

但是,我正在阅读关于变量的这个Gitlab CI文档,并在它说出来时发现了问题

变量在构建环境中设置为环境变量,并且可以使用用于访问此类变量的常规方法访问

当然,大多数给出的例子都是针对bash的.对于Windows,它使用%var%.所以我把它改成了以下,这对我有用.(通过观察构建输出确认.)

script:
  - echo %MySecret%
Run Code Online (Sandbox Code Playgroud)

一个警告我认为这可能也会受到你在设置跑步者时选择的外壳的影响,尽管我没有尝试过.