我使用“工作空间清理插件”来清理工作结束后的工作空间。但是仍然没有删除@tmp
目录。
任何方式我们都可以删除这个@tmp
文件夹使用管道脚本。
就我在Jira看来,这似乎是一个已知的问题:
发布于 2019-03-28 07:01:56
我在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()
}
}
}
}
这个片段也适用于默认工作空间.
发布于 2019-03-22 15:24:35
您可以使用deleteDir()作为管道Jenkinsfile的最后一步(假设您没有更改工作目录)。
发布于 2020-05-19 06:43:05
不是直接回答你的问题,但可能会帮助别人。
如果您使用目录 Jenkins管道步骤更改目录,那么您将看到创建这些@tmp
文件夹。相反,使用cd
命令,它们一开始不会被创建。
所以,而不是
def myFunc(String folder) {
dir(folder) {
// work
}
}
这样做。
def myFunc(String folder) {
bat "cd ${folder}"
// work
}
https://stackoverflow.com/questions/55297411
复制相似问题