如何配置自托管Windows pipeline runner跳过构建步骤清理例程
Windows自托管Runner禁用构建后工作目录清理方案
单工作流临时排查配置
针对单次问题排查场景,直接在工作流YAML中做如下配置即可保留克隆目录:
- 给官方
actions/checkout步骤添加clean: false参数,关闭默认的代码拉取前工作区重置逻辑:
- name: 拉取代码 uses: actions/checkout@v4 with: clean: false
- 移除工作流中所有显式清理工作目录的步骤,比如调用
Remove-Item删除$env:GITHUB_WORKSPACE路径的命令。 - 若需要登录Runner机器实时排查,可在工作流末尾添加等待步骤,阻止任务结束后触发Runner的工作区回收逻辑:
- name: 暂停任务留足排查时间 run: timeout /t 3600 shell: cmd
上述配置会让任务在执行完所有步骤后暂停1小时,期间可远程连接到Windows Runner,进入对应work/[任务编号]/[仓库名]目录排查Git相关问题。
- 不想占用Runner运行时间的话,也可以加个兜底备份步骤,无论任务成功失败都把工作目录打包到其他磁盘路径,就算后续Runner执行清理也不影响备份文件:
- name: 备份工作目录 if: always() run: Compress-Archive -Path $env:GITHUB_WORKSPACE -DestinationPath C:\debug_bak\workspace_$(Get-Date -Format "yyyyMMddHHmmss").zip shell: powershell
Runner全局永久禁用清理
如果需要让该台自托管Runner执行所有任务时都不做构建后清理,可修改Runner本地配置:
- 进入Runner的安装根目录,找到或新建
.env配置文件 - 在文件中添加如下配置项,关闭Runner的强制清理能力:
ACTIONS_RUNNER_DISABLE_CLEANUP=true
- 重启Runner对应的系统服务,配置即可生效。
注意:全局禁用清理会导致Runner工作目录下的文件随任务执行持续累积,长期运行可能占满系统盘,问题排查完成后建议删除该配置项,或定期手动清理Runner根目录下的
work文件夹。
内容的提问来源于stack exchange,提问作者videoguy
相关产品推荐
相关产品推荐

