我们正在从旧版Jenkins设置迁移到新服务器,在该服务器中所有计划都是声明性的jenkinsfile管道...但是,通过使用管道,我们无法再手动清除工作空间。如何设置Jenkins以允许手动按需清除工作区?
我不希望每次运行都清理工作区-我们可怕的旧版应用程序来自一个1.7G(!)大小的回购邮件,并且要花很长时间才能收回。每次运行时清除都不可行。我不希望遵循“ ssh in并手动删除目录”选项,因为并非所有Jenkins用户都具有ssh访问权限。
我发现的所有现有答案都涉及“使它每次都作为管道的一部分而发生”或“在服务器上运行脚本” – Jenkins GUI中肯定有一种方法可以说“使此工作区为Zap”这样我们下次就可以建造干净的东西了??
(我们可以通过(buildnum)>管道步骤>分配节点:开始>工作区来查看工作区,但是不能在此处进行切换)
答案 0 :(得分:3)
您可以向管道添加参数:
properties([
parameters([
string(name: 'cleanWorkspace', defaultValue: 'false')
])
])
然后在管道中,仅当以deleteDir()
传递参数时才触发true
:
if(params.cleanWorkspace == 'true') {
deleteDir()
}