詹金斯管道总是失败

时间:2016-07-15 04:22:19

标签: jenkins jenkins-pipeline

我的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()
    }
}

2 个答案:

答案 0 :(得分:1)

我意识到当我实际进入dir块时,我已经包含了html报告的完整路径。日志中没有迹象表明这一点。

答案 1 :(得分:1)

你的问题解决了吗?

无论如何,deleteDir函数有时会出问题。因为deleteDir以递归方式删除当前目录及其内容,所以如果您尝试删除整个作业工作区,则可能会引发错误。

注意在dir函数中使用它,如下所示:

dir('directoryToDelete') {
    deleteDir()
}