Jenkins 管道 - 删除 @tmp 文件夹

Pan*_*nde 5 jenkins jenkins-pipeline

作业完成后,我正在使用“工作区清理插件”来清理工作区。但仍然@tmp没有删除目录。

我们可以@tmp使用管道脚本以任何方式删除此文件夹。

就我在 Jira 中看到的而言,它看起来像是一个已知问题:

Pan*_*nde 7

我在 Jenkins 中使用了自定义工作区,然后 deleteDir() 不会删除 @tmp 文件夹。

因此,要删除@tmp 和工作区,请使用以下内容

pipeline {
    agent {
        node {
            customWorkspace "/home/jenkins/jenkins_workspace/${JOB_NAME}_${BUILD_NUMBER}"
        }
    }
    post {
        cleanup {
            /* clean up our workspace */
            deleteDir()
            /* clean up tmp directory */
            dir("${workspace}@tmp") {
                deleteDir()
            }
            /* clean up script directory */
            dir("${workspace}@script") {
                deleteDir()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码段也适用于默认工作区。


小智 2

您可以使用deleteDir()作为管道Jenkinsfile的最后一步(假设您没有更改工作目录)。