詹金斯在工作后删除目录

Jenkins Delete Dir after Job

我有许多 Jenkins 管道,我想在管道完成(通过或失败)时删除目录。

我已将以下阶段添加到我的所有管道中。

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

这确实有效,但在清理过程中的某处它会在同一目录中创建另一个文件夹并将其设为 ws-cleanup 例如。 myservices_ws-cleanup_1571049838662

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

cleanWs() 不是为您的目的而工作吗?如果没有,您可以随时使用 deleteDir() 选项

post {
    always {
            cleanWs()
    }
}

你的 post 看起来更像 Jenkins declarative pipeline 结合 scripted Jenkins pipeline

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

如果你想结合这个不要忘记使用 script 块。 顺便说一句,当你开始一项工作时,如果该工作在 Jenkins Slave 上运行,那么 Jenkins 将创建一个 workdir,其工作名称在 Jenkins UI 中指定。

我的理解是,如果您使用 cleanWs() 在您的管道上执行 post 条件,这将清理 workspace 文件夹中的 content,但不会清理整个文件夹...文件夹名称将保留(空)。

这使得 start/test 一份新的 new/next 工作成为可能 workspace

这是您问题的答案