Jenkins流水线 - 如何手动清理工作空间?

4
我们正在从传统的Jenkins设置迁移到一个新服务器,所有计划都是声明式Jenkinsfile流水线...但是,使用流水线后,我们无法手动清除工作空间。我该如何设置Jenkins以允许手动按需清除工作空间?
我不希望在每次运行时清除工作空间 - 我们可怕的传统应用程序来自一个大小为1.7G的repo(!),需要很长时间才能拉取。每次运行都清除不是可行的选项。我不愿意采用“ssh登录并手动删除目录”的选项,因为并非所有Jenkins用户都具有ssh访问权限。
我找到的所有现有答案都涉及“将其作为流水线的一部分使其每次发生”或“在服务器上运行脚本” - 当然,Jenkins GUI中肯定有一种方法可以说“删除此工作空间,以便我们可以下次进行干净构建”吧?
(我们可以通过(buildnum)> Pipeline Steps> Allocate Node:Start> Workspace查看工作空间,但无法在那里删除它)
1个回答

5
您可以向流水线添加一个参数:
properties([
  parameters([
    string(name: 'cleanWorkspace', defaultValue: 'false')
  ])
])

在pipeline中,只有当传递参数为true时才触发deleteDir()

if(params.cleanWorkspace == 'true') {
    deleteDir()
}

谢谢Jayfah。我们最终在第二天完成了这个任务,由于我们已经使用了参数,所以它并没有给工作流程增加任何额外的负担。 - vacri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接