我的Jenkins管道阶段都很成功,但构建总是说它失败了。为了清楚起见,构建是成功的,我希望它与Jenkins注册成功,但出于某种原因詹金斯认为它失败了。所有阶段都表示在仪表板中成功,但构建标有红色球,控制台输出以Finished: FAILURE
结束。
这是我的管道文件
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()
}
}
答案 0 :(得分:1)
我意识到当我实际进入dir块时,我已经包含了html报告的完整路径。日志中没有迹象表明这一点。
答案 1 :(得分:1)
你的问题解决了吗?
无论如何,deleteDir函数有时会出问题。因为deleteDir以递归方式删除当前目录及其内容,所以如果您尝试删除整个作业工作区,则可能会引发错误。
注意在dir函数中使用它,如下所示:
dir('directoryToDelete') {
deleteDir()
}