I am using "Workspace Cleanup Plugin" to clean workspace after the job finishes. But still @tmp
directory is not deleted.
Any way we can delete this @tmp
folder using pipeline script.
It looks like a known issue as far as I see in Jira:
It [@tmp folder] contains the content of any library that was loaded at run time.
Delete views and folders - Jenkins Tutorial To delete a view, you would start by entering the view. And let's look at the build view for example. On the left-hand side, there is an option to delete view. So I'll click that and I'm prompted to confirm the deletion.
Navigate to /scriptApproval/ (Manage Jenkins > In-process Script Approval) and approve the script. File. delete works on master.
Login to Jenkins, click on “Manage Jenkins” > “Manage Plugins” > Click on the “Available” tab then search for “workspace cleanup“. You will see various plugins listed. Click on the checkbox for “Workspace Cleanup“, plugin then click on install without reboot tab below the page.
I used custom workspace in Jenkins then deleteDir() will not delete @tmp folder.
So to delete @tmp along with workspace use following
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()
}
}
}
}
This snippet will work for default workspace also.
You can use deleteDir() as the last step of the pipeline Jenkinsfile (assuming you didn't change the working directory).
The following code snippet works great.
//@tmp clean up
stage ('cleanup')
{
withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin']) {
dir('<your directory path>') {
sh "rm -rf <directory `enter code here`name>@tmp"
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With