【问题标题】:Visualize Jenkins pipeline or multibranch pipeline jobs可视化 Jenkins 管道或多分支管道作业
【发布时间】:2021-02-10 23:49:16
【问题描述】:
  • 我的 Jenkins 2.0 中的每个组件都有一个 Pipeline job。他们全部 由许多阶段(构建、UT、IT 等)组成,因此它们作为一个 组件的管道。
  • 组件以指定的顺序相互依赖,所以我使用“在其他项目构建后构建”(我也尝试过JobFanIn Plugin)来触发这些“迷你管道”。这就像“迷你管道”的管道

我想可视化工作之间的关系。为此,我找到了 2 个插件:

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

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

【问题讨论】:

  • 我也在想同样的事情。到目前为止,我还没有找到任何东西。
  • 是的,我还问是否有更好的方法来定义这些依赖项。也许我会做一个Multijob。但这并不是我想要的。 stackoverflow.com/questions/66104021/…

标签: jenkins build jenkins-pipeline


【解决方案1】:

考虑一下。

我认为多分支管道的可视化不像单个分支构建那样有意义。 原因是 mb 管道的每个 bench 都可以有不同的构建配置。例如,master 触发了提升工作,但分支做其他事情或什么都不做。

我认为最好的方法是跟踪单个内部版本号及其链接。在工作层面做不到。

【讨论】:

    【解决方案2】:

    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"
                        }
                    }
                }
            }
        }
    }
    

    它会像这样可视化:

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

    【讨论】:

    • 谢谢,但这并不是我们想要的。它是关于“可视化工作之间之间的关系”。如果您有 100 个具有不同下游/上游依赖项的作业,则很难跟踪。 Blueocean 有助于了解管道项目本身。提到的插件有助于理解 freeStyle 项目之间的依赖关系。但是这些插件不支持管道项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    相关资源
    最近更新 更多