如何重置Jenkins工作空间路径?解决流水线中止后路径变更问题
解决Jenkins流水线中止后工作空间路径追加@2导致外部集成异常的问题
Jenkins在流水线被中止后出现工作空间路径变为opt/jenkins/workspace/some-project@2,本质是系统检测到原工作空间存在占用(比如未完全清理的进程、文件锁),自动创建带后缀的新工作空间以避免冲突。以下是具体解决方法:
方法一:重置项目的工作空间关联
- 打开对应项目的配置页面,下滑至高级项目选项,找到工作空间设置项
- 勾选「使用自定义工作空间」,手动填入原路径
/opt/jenkins/workspace/some-project,保存配置后再次进入,取消勾选该选项并重新保存——这会强制Jenkins重置项目与工作空间的关联记录 - 若为流水线项目,也可直接在Jenkinsfile中显式指定工作空间,确保路径固定:
pipeline { agent any options { customWorkspace '/opt/jenkins/workspace/some-project' } // 后续流水线步骤 }
方法二:清理节点上的残留占用
- 登录Jenkins执行节点服务器,执行以下命令排查是否有进程占用原工作空间:
lsof | grep /opt/jenkins/workspace/some-project - 杀掉所有关联的残留进程后,删除
some-project@2目录 - 清理Jenkins临时文件目录(通常为
$JENKINS_HOME/tmp)下与该项目相关的临时文件
方法三:重置节点的工作空间同步
- 进入Jenkins「管理节点」页面,找到对应执行节点,点击「配置」
- 确认「工作空间根目录」路径正确后,点击「准备离线」,待节点状态变为离线后再点击「启动代理」,触发节点与Jenkins服务重新同步工作空间信息
临时适配方案(紧急场景)
如果上述方法暂时无法生效,可先通过以下方式适配CI Visibility集成:
- 在流水线中添加步骤,创建软链接映射原路径:
ln -sf /opt/jenkins/workspace/some-project@2 /opt/jenkins/workspace/some-project - 修改CI Visibility集成的配置规则,允许匹配带
@后缀的工作空间路径
内容的提问来源于stack exchange,提问作者Furman
相关产品推荐
相关产品推荐

