GitLab CI Windows Runner构建制品存储路径查询
Windows GitLab Runner 制品本地存储路径说明及排查
1. 作业执行时的临时工作目录(核心位置)
GitLab Windows Runner的作业工作目录默认格式为:
C:\Program Files\GitLab-Runner\builds\<runner-short-token>\<project-namespace-id>\<repo-name>
- 你提到的
RcLyerg4就是<runner-short-token>,<project-namespace-id>通常为0(个人项目)或对应群组ID,<repo-name>是你的仓库名称。 - 注意:作业结束后Runner会自动清理该目录,所以你手动事后查找肯定找不到。必须在CI脚本执行过程中直接操作,比如在
.gitlab-ci.yml里添加复制逻辑:stages: - build - persist_artifact build: stage: build script: - dotnet build -c Release - dotnet publish -c Release -o ./publish artifacts: paths: - ./publish/ persist_artifact: stage: persist_artifact script: # 打印当前工作目录,方便确认 - echo "Current working directory: %CD%" # 复制制品到指定本地文件夹 - xcopy ./publish/ D:\Your\Target\Directory\ /E /I /Y
2. Runner缓存存储路径(若配置了本地缓存)
如果你的Runner配置了本地缓存(未上传到GitLab服务器),缓存/制品会存放在:
C:\ProgramData\GitLab-Runner\cache\<gitlab-instance-hash>\<namespace>\<project>
- 可通过查看Runner配置文件
C:\Program Files\GitLab-Runner\config.toml中的cache_dir字段,确认实际路径。
3. 手动查找不到的原因
- 作业执行完毕后,Runner默认会删除作业工作目录,所以事后去
builds目录找不到内容。 - 若需要保留工作目录,可修改
config.toml中对应Runner的配置,添加cleanup = false(不推荐,长期会占用大量磁盘空间)。
4. 快速验证路径的方法
在CI脚本中添加打印命令,直接在作业日志中查看路径:
script: - echo "Working Directory: %CD%" - dir /s # 递归列出所有文件,确认制品位置
内容的提问来源于stack exchange,提问作者Jainam Shah
相关产品推荐
相关产品推荐

