You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins与GitLab中配置DORA指标?需配置及先决条件详情

DORA指标在Jenkins与GitLab中的配置方法及先决条件

Jenkins 配置指南

先决条件

  • Jenkins版本需在2.300及以上(部分核心插件对版本有要求)
  • 已安装必备插件:Pipeline、Git、Prometheus Metrics、Dashboard(可选,用于可视化)
  • Jenkins节点具备目标Git仓库的读写权限
  • 已存在可运行的构建/部署流水线(DORA指标依赖流水线的历史数据)

配置步骤

  1. 收集基础数据
    在Jenkinsfile中添加代码,记录关键时间节点:

    pipeline {
        agent any
        stages {
            stage('Build') {
                steps {
                    script {
                        env.BUILD_START_TIME = new Date().getTime().toString()
                        // 构建逻辑
                        env.BUILD_END_TIME = new Date().getTime().toString()
                    }
                }
            }
            stage('Deploy to Prod') {
                steps {
                    script {
                        env.DEPLOY_START_TIME = new Date().getTime().toString()
                        // 部署逻辑
                        env.DEPLOY_END_TIME = new Date().getTime().toString()
                        // 记录本次变更的提交ID
                        env.COMMIT_ID = sh(script: 'git rev-parse HEAD', returnStdout: true).trim()
                    }
                }
            }
        }
    }
    

    同时需手动记录故障发生与恢复时间(可通过Jenkins的issue跟踪或自定义参数实现)。

  2. 计算DORA核心指标
    通过Pipeline脚本批量统计历史数据,实现四个指标的计算:

    • 部署频率:统计指定时间窗口内(如1天)的生产部署次数
    • 变更前置时间:计算从代码提交时间到部署完成时间的时间差
    • 服务恢复时间:故障发生时间到恢复完成时间的时间差
    • 变更失败率:(部署失败/回滚的变更数)/(总变更数)×100%
  3. 指标暴露与可视化
    使用Prometheus Metrics插件将计算后的指标暴露:

    script {
        def deploymentCount = 5 // 示例:统计得到的日部署次数
        prometheusRecord('dora_deployment_frequency', deploymentCount, '1d')
    }
    

    之后可通过Jenkins Dashboard或导入Prometheus数据到Grafana生成可视化图表。

GitLab 配置指南

先决条件

  • GitLab版本需在14.0及以上(原生支持DORA指标统计)
  • 项目已启用CI/CD功能
  • 存在标记为「生产」的部署环境
  • 具备项目维护者权限(用于配置环境与查看指标)

配置步骤

  1. 标记生产环境
    进入项目「Settings」→「CI/CD」→「Environments」,找到生产部署对应的环境,勾选「Production environment」选项,完成标记。

  2. 关联CI/CD流水线与生产部署
    在.gitlab-ci.yml中定义生产部署阶段,确保环境名称与上述标记一致:

    deploy_production:
      stage: deploy
      environment:
        name: production
        url: https://your-production-domain.com
      script:
        - # 你的生产部署脚本
      only:
        - main
    

    GitLab会自动追踪该环境的所有部署、提交及关联的故障修复记录。

  3. 查看原生DORA指标
    进入项目「Analytics」→「CI/CD Analytics」,即可查看GitLab自动计算的四个DORA指标的趋势图与详细数据,无需额外编写计算逻辑。

  4. 自定义指标扩展(可选)
    若需自定义统计维度,可在CI脚本中添加数据收集逻辑,例如记录故障触发时间,再通过GitLab的自定义指标API或导出数据到外部工具进行二次计算。

内容的提问来源于stack exchange,提问作者vignesh_m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:05:26