Reputation: 986
My Jenkins pipeline stages are all successful yet the build always says it failed. To be clear, the build was a success and I would like it to register with Jenkins as successful but for some reason Jenkins thinks it has failed. All the stages say success in the dashboard yet the build is marked with a red ball and the console output ends with Finished: FAILURE
.
Here is my pipeline file
node {
try{
stage 'Clone repo'
sh 'gcloud source repos clone <repo-name> --project=<project-name>'
dir('<repo-name>') {
try{
stage 'Run tests'
sh './gradlew test'
stage 'Run integration tests'
sh './gradlew integrationTest'
publishHTML(target: [
allowMissing: false,
alwaysLinkToLastBuild: false,
keepAll: false,
reportDir: '<repo-name>/build/reports/integrationTest',
reportFiles: 'index.html',
reportName: 'Integration Test Reports'])
} finally {
stage 'Stop and remove docker containers'
sh 'docker-compose down'
sh 'docker-compose rm -f'
}
}
} finally {
deleteDir()
}
}
Upvotes: 4
Views: 2875
Reputation: 1085
is your problem solved ?
Anyway the deleteDir function can be a problem sometimes. Because deleteDir recursively deletes the current directory and its contents, you can raise an error if you try to delete the complete job workspace.
Take care to use it in a dir function as below:
dir('directoryToDelete') {
deleteDir()
}
Upvotes: 1
Reputation: 986
I realised I had included the full path to the html reports when I was actually inside a dir block. There was no indication in the logs of this.
Upvotes: 1