詹金斯在工作后删除Dir

时间:2019-10-14 10:57:29

标签: jenkins jenkins-pipeline jenkins-plugins

我有许多Jenkins管道,当管道结束(通过或失败)时,我想删除目录。

我已经在所有管道中添加了以下阶段。

    post {
        always {
                step([$class: 'WsCleanup'])
        }
    }

这确实有效,但是在清理过程中的某个地方,它会在同一目录中创建另一个文件夹,并将其命名为 ws-cleanup myservices_ws-cleanup_1571049838662

是否可以在不创建ws-cleanup目录的情况下删除目录?

2 个答案:

答案 0 :(得分:1)

您的post看上去更像詹金斯declarative pipelinescripted 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()
    }
}