我有许多Jenkins管道,当管道结束(通过或失败)时,我想删除目录。
我已经在所有管道中添加了以下阶段。
post {
always {
step([$class: 'WsCleanup'])
}
}
这确实有效,但是在清理过程中的某个地方,它会在同一目录中创建另一个文件夹,并将其命名为 ws-cleanup 。
myservices_ws-cleanup_1571049838662
是否可以在不创建ws-cleanup目录的情况下删除目录?
答案 0 :(得分:1)
您的post
看上去更像詹金斯declarative pipeline
和scripted Jenkins pipeline
post {
always {
script {
step([$class: 'WsCleanup'])
}
}
}
如果要结合使用此功能,请不要忘记使用script
块。
顺便说一句,当您开始工作时,如果该工作在Jenkins Slave上运行,那么Jenkins将创建一个workdir
,其工作名称在Jenkins UI
中指定。
我的理解是,是否要使用post
在管道上执行cleanWs()
条件,以清除content
文件夹中的workspace
,但不能清除整个文件夹...文件夹名称将保留(空)。
这使得可以在新的workspace
上启动/测试新的新作业/下一个作业。
这是您的问题Check the answer
的答案答案 1 :(得分:0)
cleanWs()不是为您目的而工作吗?如果没有,您可以随时使用deleteDir()选项
post {
always {
cleanWs()
}
}