Jenkinsfile:所有阶段在管道中不可见

时间:2018-10-25 21:07:44

标签: git jenkins jenkins-pipeline

我在GitRepo的不同分支上具有相同的Jenkinsfile。但是我只能在Master分支上看到Jenkinsfile上的所有阶段。在其他分支上,只有几个阶段可见。

这些阶段不是Jenkinsfile上特定于分支的。

我也看到了与其他存储库类似的行为。我的分支机构或Jenkinsfile中缺少什么?

node {
stage('Checkout from Github') {
    checkout scm
}
try{

            stage('Unit Tests') {
                sh 'gradle test'
                junit 'build/test-results/test/*.xml'
            }
            stage('Integration Tests') {
                sh 'gradle integrationTest'
                junit 'build/test-results/integrationTest/*.xml'
            }
            stage('Coverage') {
                // generate test report
                sh 'gradle jacocoTestReport'
                // verify minimum coverage
                sh 'gradle jacocoTestCoverageVerification'
            }
            stage('SonarQube') {
                withSonarQubeEnv('SonarQubeServer') {
                    // submit results to SonarQube
                    sh 'gradle sonarqube'
                }
            }
            stage('Quality Gate') {
                timeout(time: 1, unit: 'HOURS') {
                    // TODO: make this a failure criteria once coverage is ready
                    waitForQualityGate abortPipeline: false
                }
            }
            stage('Publish War') {
                sh 'gradle publish'
            }
        }
    }

    stage('Publish Helm Chart') {
        something
    }
} finally {
    something
}
}

on feature branch

on master

Jenkins文件在两个分支上都相同。

2 个答案:

答案 0 :(得分:2)

管道阶段视图插件仅显示已由其显示的任何构建至少执行一次的阶段。

在屏幕截图中,您可以确切地看到。在master上,所有阶段都在版本5中执行,因此它们由表中的列表示。在分支上,只有一个构建在早期阶段失败了,因此直到该阶段只有列,因为其他列已被跳过。

当您删除甚至更烦人的重命名阶段时,也可以看到该行为。旧阶段一直保留专栏,直到退出历史记录。

答案 1 :(得分:0)

问题是两个分支都没有拉出所需的容器...

一个似乎根本无法获取-另一个似乎超时。

定义容器注册表和/或容器的文件可能会有所不同。