You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Jenkins中checkout scm默认的工作区清理功能

解决Jenkins checkout scm重复清理工作区的问题
  • 问题根源:默认的checkout scm会触发工作区清理(日志显示Wiping out workspace first.),即便已经用cleanWs()清理过,仍会覆盖工作区之前的修改。

  • 正确解决方案(以Git SCM为例):
    需要显式覆盖SCM扩展中的工作区清理配置,将wipeOutWorkspace设为false。代码示例:

    cleanWs()
    // 这里编写你修改工作区的代码
    checkout([
        $class: 'GitSCM',
        branches: scm.branches,
        userRemoteConfigs: scm.userRemoteConfigs,
        extensions: scm.extensions + [[$class: 'WipeWorkspace', wipeOutWorkspace: false]]
    ])
    // 后续执行的代码不会再丢失之前的工作区修改
    

    原理:默认的scm对象已包含WipeWorkspace扩展且默认值为true,通过追加并覆盖该扩展的配置,即可禁用checkout时的自动清理。

  • 若使用FileSystem SCM:
    直接在配置中设置clearWorkspace: false,代码示例:

    checkout([
        $class: 'FileSystemSCM',
        clearWorkspace: false,
        source: '/path/to/your/local/repo' // 替换为你的文件系统源路径
    ])
    

内容的提问来源于stack exchange,提问作者Sava Kezic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:12:07