How to clear workspace in Jenkins pipeline before job starts
Use the means of your VCS, with Git run
git clean -fdx
stage('Git') {
steps {
step([$class: 'WsCleanup'])
checkout scm
}
}
the WsCleanup does the trick
Actually, I have to revise my answer based on recent changes to the pipeline plugins, e.g. GitHub Branch Source Plugin 2.2.0 with JENKINS-43507.
Besides the different branch discovery behaviours, which can be configured, one can now define additional steps to take, including Clean before checkout (and Clean after checkout):
The resulting output in the pipeline execution will then be
Cleaning workspace > git rev-parse --verify HEAD # timeout=10 Resetting working tree > git reset --hard # timeout=10 > git clean -fdx # timeout=10
so, pretty close to the calling git clean
yourself.