gitlab - 使用 CI_COMMIT_BRANCH 分支名称作为文件路径
问题描述
我正在尝试设置一个管道,其中输出将被写入基于触发管道的分支的位置。
示例:如果分支是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
用作 shell。
解决方案
首先检查你在 gitlab-ci 中设置了什么样的 shell
默认是PowerShell Core,在这种情况下变量替换应该使用$CI_COMMIT_BRANCH
.
先试试$env:CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH
但是以防万一您使用的是已弃用的 CMD shell,请尝试"%CI_COMMIT_BRANCH%"
OP rranjik在评论中确认:
md D:/Artifacts/"%CI_COMMIT_BRANCH%"
工作。
推荐阅读
- ssh - 公钥认证
- java - 将加密逻辑从 JAVA 转换为 DART
- pandas - 如何遍历熊猫中的选定行
- rest - 由 Heroku 托管后未设置相同的站点 Cookie 属性
- php - 如何在 php 中将 DD/MM/YYYY h:i 转换为 YYYY-MM-DD h:i
- excel - Excel 不同值列表
- python-3.x - 如何从没有唯一类标识符的情况下刮取一些文本?
- bash - 全部剪到最后
- python-3.x - 将 SAS 代码转换为 KL 散度图的 Python
- reactjs - Laravel 安装:我应该为所有 bootstrap、vue 和 react 运行 php artisan ui 还是只为其中一个运行