可视化Jenkins管道或多分支管道作业

时间:2016-08-12 08:25:44

标签: jenkins build jenkins-pipeline

  • 我的Jenkins 2.0中的每个组件都有一个Pipeline job。他们都是 由许多阶段(构建,UT,IT等)组成,所以他们的工作是一个 组件的管道。
  • 组件按指定顺序相互依赖,因此我使用“构建其他项目后构建”(我也尝试JobFanIn Plugin)来互相触发这些“迷你管道”。这就像一条“迷你管道”
  • 的管道

我想想象一下这些工作之间的关系。为此我找到了2个插件:

两者都引入了新的View类型,但它们都不支持“Pipeline”或“Multibranch pipeline”作业类型(introduced in Jenkins 2.0),这些作业在视图配置页面的相关下拉列表中不可见。

如何可视化这些工作类型的关系?有没有其他支持这些类型的插件?

2 个答案:

答案 0 :(得分:0)

考虑这一点。

我认为多分支管道的可视化与单个分支构建的方式相同。 原因是mb管道的每个工作台都可以具有不同的构建配置。例如,主人触发晋升工作,但分支做其他事情或什么都不做。

做得最好的我能想到的是跟踪个人的内部版本号和它的链接。不能在工作层面上做到。

答案 1 :(得分:0)

Jenkins 蓝海插件提供了丰富的视图来可视化开箱即用的所有类型(并行、顺序阶段)视图。

假设您有这样的管道

pipeline {
    agent any;
    stages {
        stage('build') {
            stages {
                stage('compile') {
                    steps {
                        echo "steps for unitest"
                    }
                }
                stage('security scan') {
                    parallel {
                        stage('sonarqube') {
                            steps {
                                echo "steps for parallel sonarqube"
                            }
                        }
                        stage('blackduck') {
                            steps {
                                echo "steps for parallel blackduck"
                            }
                        }
                    }
                }
                stage('package') {
                    steps {
                        echo "steps for package"
                    }
                }
            }
        }
        stage('deployment') {
            stages {
                stage('dev') {
                    steps {
                        echo "Development"
                    }
                }
                stage('pp') {
                    when { branch 'master' }
                    steps {
                        echo "PreProduction"
                    }
                }
                stage('prod') {
                    when { 
                        branch 'master' 
                        beforeInput true
                    }
                    input {
                        message "Deploy to production?"
                        id "simple-input"
                    }
                    steps {
                        echo "Production"
                    }
                }
            }
        }
    }
}

它会像这样可视化:

enter image description here

这是您要找的吗? 注意 - 它可以自定义。但是这个视图是每个构建..你不能从它创建一个仪表板并将它的全部结合在一起