Jenkins管道-手动清除工作区吗?

时间:2018-10-10 06:10:24

标签: jenkins jenkins-pipeline

我们正在从旧版Jenkins设置迁移到新服务器,在该服务器中所有计划都是声明性的jenkinsfile管道...但是,通过使用管道,我们无法再手动清除工作空间。如何设置Jenkins以允许手动按需清除工作区?

我不希望每次运行都清理工作区-我们可怕的旧版应用程序来自一个1.7G(!)大小的回购邮件,并且要花很长时间才能收回。每次运行时清除都不可行。我不希望遵循“ ssh in并手动删除目录”选项,因为并非所有Jenkins用户都具有ssh访问权限。

我发现的所有现有答案都涉及“使它每次都作为管道的一部分而发生”或“在服务器上运行脚本” – Jenkins GUI中肯定有一种方法可以说“使此工作区为Zap”这样我们下次就可以建造干净的东西了??

(我们可以通过(buildnum)>管道步骤>分配节点:开始>工作区来查看工作区,但是不能在此处进行切换)

1 个答案:

答案 0 :(得分:3)

您可以向管道添加参数:

properties([
  parameters([
    string(name: 'cleanWorkspace', defaultValue: 'false')
  ])
])

然后在管道中,仅当以deleteDir()传递参数时才触发true

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