使用 CI_COMMIT_BRANCH 分支名称作为文件路径

时间:2021-07-24 01:50:21

标签: gitlab gitlab-ci

我正在尝试设置一个管道,根据触发管道的分支,将输出写入一个位置。

示例:如果分支是 topic/124579, 然后必须将输出写入 D:/Artifacts/topic/124579

但是当我在 .gitlab-ci.yml 上使用它时,运行程序会创建一个名为 CI_COMMIT_BRANCH 的目录,字面意思是:D:/Artifacts/CI_COMMIT_BRANCH

以下是我尝试过的一些事情

md D:/Artifacts/CI_COMMIT_BRANCH 结果为 D:/Artifacts/CI_COMMIT_BRANCH 和以前一样

md D:/Artifacts/$CI_COMMIT_BRANCH 结果为 D:/Artifacts/$CI_COMMIT_BRANCH

md D:/Artifacts/"$CI_COMMIT_BRANCH" 也会导致 D:/Artifacts/$CI_COMMIT_BRANCH

我该怎么做?

我在自托管的 Windows 运行器上运行我的作业,使用 cmd 作为外壳。

1 个答案:

答案 0 :(得分:1)

首先检查什么kind of shell you have set in your gitlab-ci

默认值为 PowerShell Core,在这种情况下 variable substitution 应使用 $CI_COMMIT_BRANCH
先试试$env:CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH

但万一您使用的是已弃用的 CMD shell,请尝试 "%CI_COMMIT_BRANCH%"


OP rranjikthe comments 中确认:

<块引用>

md D:/Artifacts/"%CI_COMMIT_BRANCH%" 有效。