侵权投诉

DevOps工具链的项目端到端应用实践过程

中兴开发者社区 2018-04-05 18:30 次阅读

以敏捷研发模式运作,结合其主要使用Java语言开发,产品架构包括后台服务、前端Web和APP以及多个软件部件的特点,对整个产品计划研发应用中需求管理、特性故事管理、代码托管、持续构建、自动化测试、版本发布、故障管理等都做了合适的规范要求和约定,并很快建立起一套比较完整的DevOps工具链支持。

【关键词】

DevOps,Docker,云CI,制品库,自动化测试,度量

【工具链介绍】

整个产品规划研发应用使用一序列工具链支撑:

DevOps工具链的项目端到端应用实践过程

1)原始需求由最贴近市场的用户录入原始需求管理系统系统并由规划组人员收集分析整理形成正式的产品需求。

2)产品需求录入需求管理系统后由需求分析人员组织需求实例化分析,在线完成需求到特性再到故事任务的分解。

3)需求管理系统中待实现的特性故事任务由开发团队评估并纳入迭代开发计划,开发人员进行开发,经过代码审查、故事特性测试、BA验收后在线变为开发完成状态。

4)代码托管使用Gerrit系统,编译构建使用云CI系统,代码静态检查使用Klockwork云检查系统,版本使用制品库管理,自动化测试接入云测试管理系统。

5)整个产品研发过程使用Wiki进行产品研发应用及各个团队协作信息共享管理,各个阶段信息接入度量系统进行度量分析和信息共享展示。

【实践情况】

DevOps工具链的项目端到端应用实践过程

DevOps几个重要支撑工具关系图

代码库迁移:

SVN向Gerrit迁移,Gerrit迁移使用后带来一下好处:

1.除了创建子库和配置子库访问权限组需要由管理员配置操作之外,频度较高的子库访问权限成员增减交给团队自己决定,解决之前SVN权限管理审批流程较长的问题。

2.单库下载速度提升较多,约10倍的提速率。

3.代码规模统计与度量系统接口简单,能够快速通过度量系统配置个人代码规模统计和统计结果邮件自动推送至项目组。

4.公司层面Gerrit代码托管整理效率更高更安全。

云CI部署使用:

DevOps提供的基于Jenkins的CI服务,拥有海量资源供项目实现高并发调度,使得项目不必关心底层资源,只专注于业务本身。

代码Klockwork静态检查:

项目开发语言以Java为主,使用Klockwork工具对Java代码进行静态扫描检查。Klockwork静态检查分为两步进行:

1.开发人员编码完成归档代码之前,本地通过集成到Eclipse开发环境中的Klockwork插件对新增代码进行扫描,发现告警消除后再归档到Gerrit上。项目约定,归档代码到Gerrit库之后发现的Klockwork告警,按开发人员泄漏故障对待。KW本地Java代码扫描告警消除配置参阅《Klocwork Eclipse插件的安装和使用》。

2.项目部署云KW扫描,每日对项目代码进行静态扫描,发现告警信息推送到项目组。每日KW扫描邮件推送结果。

版本发布管理:

开发团队按版本计划开发完成版本后,向版本需求者发布不同性质的交付版本。历史发布版本记录到版本发布管理系统,能够回溯查询和版本应用管理。开发团队交付发布版本分为项目内部集成版本、外部集成版本、内部验收版本、外部验收版本、正式商用版本、实验定向版本、用户试用版本、商用补丁版本。根据外部关系协作及上下游交付流程,不同时期发布不同性质的版本满足各方需求。开发团队对外发布的各种不同性质的版本,记录到版本发布管理库中,能够支持历史版本信息查询,历史版本信息度量统计,方便内外部干系人很容易获取版本相关信息,减少版本相关信息沟通成本,提升DevOps链在交付版本环节管理效率。

外部故障跟踪管理:

鉴于产品外部应用面分布交广,外部故障信息收集和跟踪比较困难的情况,借用需求开发管理系统的外部故障管理跟踪功能,用户直接将外部问题录入需求开发管理系统,自动推送邮件到项目研发团队进行跟踪处理,并向外部干系人自动推送问题解决进度。如下图所示:

DevOps工具链的项目端到端应用实践过程

协作与度量:

借助Wiki系统实现项目团队间信息传递与共享,通过度量系统推送项目团队和成员等不同维度的研发构成度量指标信息。

度量系统应用:

研发过程与度量系统对接,各个阶段研发过程指标通过度量系统汇总分析并推送给项目组。度量指标展示说明:

度量系统应用极大效率提升及时了解研发过程各个环节各个团队度量指标信息,将人力从人肉度量数据统计中解放出来,度量数据展示更灵活,速度更快,且自动实施。

【效果评价】

项目有一套完整的DevOps端到端的应用实践,为提升项目研发效率,快速便捷地实现信息共享发挥积极作用。需求管理线借助原始需求管理系统系统、需求开发管理系统支撑需求分析、迭代开发和版本交付的流程。Gerrit、云CI、云KW、制品库、云测试、版本发布管理支撑从代码托管、版本构建、静态检查、版本管理、自动化测试和版本发布管理的各阶段管理。

【DevOps工具链改进建议】

1.原始需求管理系统系统与下游需求分析管理系统实现对接。

2.云KW增量代码扫描结果推送,将引入KW告警关联到个人。

3.云测试增强对第三方测试工具报告解析格式转换兼容支持,方便获取更多自动化测试细节信息。

4.度量系统配置项较多时,上下翻滚寻找比较困难,建议增加下一级分类。

5.度量系统右面趋于弹出对话框与滚动条位置没有关联,建议弹出对话框显示在滚动条当前位置。

6.度量系统指标项过滤条件过于简单,计算过滤昨天数据不方便实现。

7.云KW扫描规则需要方便配置和修改。

原文标题:DevOps案例 | *网络* 项目端到端应用实践

文章出处:【微信号:ZTEdeveloper,微信公众号:中兴开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

还在使用kill -9 pid结束spring boot项目吗?

kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该....
的头像 Linux爱好者 发表于 04-13 16:01 101次 阅读
还在使用kill -9 pid结束spring boot项目吗?

“Java侵权案”的判决结果出炉:Google胜诉

当地时间 4 月 5 日,美国最高法院发布有关“Java侵权案”的判决结果,Google 以 6-2....
的头像 DeepTech深科技 发表于 04-09 10:11 290次 阅读
“Java侵权案”的判决结果出炉:Google胜诉

如何利用x86平台架构带来丰富的交互式驾驶体验

引言随着Web服务、内容和应用的日益普及,包括汽车制造商以及服务和内容提供商在内的众多厂商都迎来了巨....
的头像 电子设计 发表于 04-06 15:18 323次 阅读
如何利用x86平台架构带来丰富的交互式驾驶体验

盘点汇总Docker磁盘环境的清理方法

如果你使用 docker 进行大规模开发,但是没有清理策略,那么你的磁盘马上就会被填满,当你真的必须....
的头像 如意 发表于 04-05 17:23 71次 阅读
盘点汇总Docker磁盘环境的清理方法

检测验证Java Web程序的SQLIA漏洞解决方法

SQLA漏洞破坏Web后台数据库的完整性,-直是Web应用安全的主要威胁。提出一种检测和验证ava ....
发表于 04-02 16:05 15次 阅读
检测验证Java Web程序的SQLIA漏洞解决方法

一种基于镜像层观念的Docker注册表缓存预取策略

随着容器技术的广泛普及,大型 Docker公共注册表使用对象存储服务来解决镜像数量剧増的问题,饣这种....
发表于 04-01 14:14 20次 阅读
一种基于镜像层观念的Docker注册表缓存预取策略

关于Docker的基础

虚拟机一般不可能只跑一个应用,因为这样确实也太浪费资源了,我们可以想想,现在手上的电脑,可以用 Vm....
的头像 Linux爱好者 发表于 03-31 17:16 217次 阅读
关于Docker的基础

学习Java语言必备的六大要点

Java编程已成为当今市面上非常受欢迎的编程软件,对于处于信息高速发达的今天,Java技术已经无处不....
发表于 03-29 15:33 20次 阅读
学习Java语言必备的六大要点

Java中的XML与内容管理

Java技术的出现和发展促进了Web的迅速普及与壮大,同时,Web的迅猛扩张也反过来催生了与Java....
发表于 03-26 10:45 15次 阅读
Java中的XML与内容管理

Java语句获取系统时间相差解决办法

取得的时间总是比系统时间少8个小时,获得的总是格林尼治时间(0时区的时间),检查系统时间确实是正确的....
发表于 03-26 09:25 26次 阅读
Java语句获取系统时间相差解决办法

想成为黑客必看的12个简单步骤

黑客是在这十年最热门的职业之一,但不要把它作为一件容易的事。您必须拥有计算机系统,编程语言,操作系统....
的头像 电子发烧友网工程师 发表于 03-22 15:31 273次 阅读
想成为黑客必看的12个简单步骤

Java的iterator和foreach遍历集合源代码

Java的iterator和foreach遍历集合源代码
发表于 03-17 09:16 40次 阅读
Java的iterator和foreach遍历集合源代码

互联网Java工程师的经典面试题免费下载

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Me....
发表于 03-15 08:00 25次 阅读
互联网Java工程师的经典面试题免费下载

浅诉在B S模式的嵌入式视频监控系统的设计

本文设计了一种具有用户零维护,价格低廉,性能稳定等特点的嵌入式视频监控系统。
发表于 03-13 11:54 615次 阅读
浅诉在B S模式的嵌入式视频监控系统的设计

应用于Docker的安全工具介绍

网络安全的重要性是毋庸置疑的,无数有关恶意软件和安全漏洞之类的新闻也不断证实此论断。如果你正在管理D....
的头像 FPGA之家 发表于 03-12 14:05 221次 阅读
应用于Docker的安全工具介绍

JavaScript数组使用技巧资料免费下载

本文档的主要内容详细介绍的是JavaScript数组使用技巧资料免费下载
发表于 03-11 10:10 30次 阅读
JavaScript数组使用技巧资料免费下载

JavaScript代码嵌入HTML的文档详细资料概述

通过编程和上机加深理解JavaScript 语言是如何体现面向对象编程基本思想,进一步理解JavaS....
发表于 03-10 16:33 35次 阅读
JavaScript代码嵌入HTML的文档详细资料概述

为什么说不要用Docker了?

在比较 Docker 和其他工具时,我们需要将其分解为组件,首先我们要讨论的是容器引擎。容器引擎是一....
的头像 Linux爱好者 发表于 03-03 15:31 918次 阅读
为什么说不要用Docker了?

中国游戏市场规模呈逐年增长态势,2020年12月用户规模达5.16亿人

网络游戏,英文名称为Online Game,又称 “在线游戏”,简称“网游”。指以互联网为传输媒介,....
的头像 牵手一起梦 发表于 02-28 10:37 1413次 阅读
中国游戏市场规模呈逐年增长态势,2020年12月用户规模达5.16亿人

阿里巴巴Java开发手册应用程序免费下载

《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验....
发表于 02-25 08:00 387次 阅读
阿里巴巴Java开发手册应用程序免费下载

使用LabVIEW的鼠标坐标反馈

当事件发生时,鼠标的位置坐标是很重要的信息,有时我们也需要提取鼠标坐标的历史轨迹来作为分析问题的工具....
发表于 02-24 08:00 89次 阅读
使用LabVIEW的鼠标坐标反馈

如何在VMware中安装ubuntu 16.04?

如何在VMware中安装ubuntu 16.04 如何安装Vitis AI 几个常见的docker指令 ...
发表于 02-24 06:24 0次 阅读
如何在VMware中安装ubuntu 16.04?

到2024年中国整体云计算市场规模将超1000亿美元

云计算作为当前企业IT基础架构技术的不二之选,已走过探索实践阶段,迎来了多样化全面化的发展时期。ID....
发表于 02-23 17:28 538次 阅读
到2024年中国整体云计算市场规模将超1000亿美元

分析预测2021年DevOps的发展趋势

DevOps发展至今已有多年的时间,毫无疑问将在2021年持续发展。由于许多组织都在寻求围绕其数字化....
的头像 如意 发表于 02-09 15:10 1102次 阅读
分析预测2021年DevOps的发展趋势

C语言多线程的详细教程资料说明

Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务....
发表于 02-03 17:02 78次 阅读
C语言多线程的详细教程资料说明

深入理解OSGi Equinox原理应用与最佳实践的PDF电子书免费下载

本书是原创 Java 技术图书领域继《深入理解 Java 虚拟机》后的又一实力之作,也是全球首本基于....
发表于 02-03 08:00 54次 阅读
深入理解OSGi Equinox原理应用与最佳实践的PDF电子书免费下载

树莓派如何安装Java JDK?

  Java 是用于构建各种应用程序和系统的最流行的编程语言之一。Java 有两种不同的实现,Oracle Java 和 OpenJDK。其中...
发表于 02-02 16:37 2020次 阅读
树莓派如何安装Java JDK?

使用javascript实现文字图片上下滚动的代码免费下载

本文档的主要内容详细介绍的是使用javascript实现文字图片上下滚动的代码免费下载。
发表于 02-02 14:36 60次 阅读
使用javascript实现文字图片上下滚动的代码免费下载

k8s容器运行时演进历史

在docker/k8s时代,经常听到CRI, OCI,containerd和各种shim等名词,看完....
的头像 Linux爱好者 发表于 02-02 13:50 264次 阅读
k8s容器运行时演进历史

电信行业的经验教训:改变IT的运营模式

通过结合DevOps专业知识,集中式知识库,BMC Helix产品组合和自治数字企业(ADE)框架来....
的头像 倩倩 发表于 02-02 09:40 357次 阅读
电信行业的经验教训:改变IT的运营模式

如何完全使用python实现工作

 第一天, 太初有道, 神谕, import light, 于是便有光。( Quick fact: ....
发表于 02-01 10:33 75次 阅读
如何完全使用python实现工作

最新的Java环境包JavaSetup8u281应用程序免费下载

最新的Java环境包JavaSetup8u281应用程序免费下载
发表于 01-26 08:00 1119次 阅读
最新的Java环境包JavaSetup8u281应用程序免费下载

Hi3518ev300开发平台搭建

笔者在收到申请的免费试用IPC后,就迫不及待进行了开发平台的搭建,以达到在Windows下编写代码、烧写固件,在Linux平台下...
发表于 01-21 18:56 0次 阅读
Hi3518ev300开发平台搭建

程序接收 RS232串口的数据,出现帧错误(Frame Error),可能是啥原因?

如题,我仿照 https://blog.csdn.net/ALEX__0805/article/details/46819593 写了个java接受串口程序,但是运行时,下面的程序...
发表于 01-21 14:25 1414次 阅读
程序接收 RS232串口的数据,出现帧错误(Frame Error),可能是啥原因?

k8s实用devops工具

KubeSpray是一个集群生命周期管理器,可以帮助部署可用于生产的Kubernetes集群。它使用....
的头像 Linux爱好者 发表于 01-19 16:53 527次 阅读
k8s实用devops工具

是否有了这个工具链就是DevOps?

从达成这一准高性能DevOps指标的团队分析来看,其具体体现在三个方面:一方面是自动化、标准化、质量....
的头像 华为开发者社区 发表于 01-13 15:23 327次 阅读
是否有了这个工具链就是DevOps?

嵌入式代码覆盖率如何进行统计有哪些方法和经验

代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例 计算得出。代码覆盖....
的头像 Wildesbeast 发表于 01-09 11:12 688次 阅读
嵌入式代码覆盖率如何进行统计有哪些方法和经验

谁会是2021年最好的后端编程语言

虽然已经过去了8个月,但2020仍然未成定局,这是一个不断变化着的行业,预测始终未停止。同时,作为一....
的头像 Les 发表于 01-08 15:10 1859次 阅读
谁会是2021年最好的后端编程语言

Chrome浏览器插件v1.9.0发布 使用了最简单的JavaScript代码解析

距 OSCHINA Chrome 浏览器插件 发布 上一个版本已经8个月了,这段时间 OSCHINA....
的头像 Les 发表于 01-08 11:39 494次 阅读
Chrome浏览器插件v1.9.0发布 使用了最简单的JavaScript代码解析

用哪种编程语言写的应用漏洞最严重 Java还是Python

静态代码分析安全公司 Veracode 近日发布了一份应用程序分析报告,结果发现比起 JavaScr....
的头像 数据分析与开发 发表于 01-06 16:19 547次 阅读
用哪种编程语言写的应用漏洞最严重 Java还是Python

学习大数据前必须知道的知识

学习大数据前应该了解什么?大数据学习不能停留在理论的层面上,大数据方向切入应是全方位的,基础语言的学....
的头像 如意 发表于 01-06 15:54 591次 阅读
学习大数据前必须知道的知识

Fork/Join的框架机制详解

  一、Fork/Join框架   Java提供Fork/Join框架用于并行执行任务,核心的思想就是将一个大任务切分成多个小任务,然后汇...
发表于 01-05 17:51 101次 阅读
Fork/Join的框架机制详解

Java异常体系级处理办法

  一、异常简介   优秀的程序代码,都在追求高效,安全,和低错误率,但是程序中的异常是无法避免的,降低异常出现的频率是...
发表于 01-05 17:48 101次 阅读
Java异常体系级处理办法

DevOps如何增强物联网

随着工业物联网领域面临越来越多的挑战,用于工业物联网的DevOps正在帮助企业提高效率。 物联网已经....
的头像 物联网智慧城市D1net 发表于 01-05 15:18 719次 阅读
DevOps如何增强物联网

TIOBE公布了2020年12月编程语言排行榜

TIOBE 公布了 2020 年 12 月的编程语言排行榜。C语言依然排行第一,随后分别是Java、....
的头像 算法与数据结构 发表于 01-04 14:36 17242次 阅读
TIOBE公布了2020年12月编程语言排行榜

MATLAB2013教程的PDF电子书免费下载

MATLAB是一种用于数值计算、可视化和编程的高级语言和交互环境。使用MATLAB,您可以分析数据、....
发表于 01-04 08:00 125次 阅读
MATLAB2013教程的PDF电子书免费下载

学成Java后,可开发应用在哪里?

Java开发可应用于什么领域?Java的应用非常的广泛,可以用来在开发软件工具、嵌入式领域、交易系统....
的头像 如意 发表于 01-03 15:09 592次 阅读
学成Java后,可开发应用在哪里?

Java语言学习的六大关键

Java语言学习六大关键
发表于 01-01 07:59 0次 阅读
Java语言学习的六大关键

Kotlin实战与Android的应用笔记详细说明

Kotlin语言在Android Studio中应用前景广阔,本文是编者在应用开发中查找资料的总结,....
发表于 12-31 08:00 72次 阅读
Kotlin实战与Android的应用笔记详细说明

如何提高我国少儿教育质量,少儿编程教育有大优势

“在我们身处的这个世界里,从城市交通、桥梁结构到空气质量、地质演变,再到人际互动和经济活动,无不可以....
发表于 12-28 11:35 163次 阅读
如何提高我国少儿教育质量,少儿编程教育有大优势

如何避免DevOps的常见问题

DevOps还未彻底发展成熟。如果用人的一生来比喻,那么DevOps还只是位少年——虽然早已脱离襁褓....
的头像 陈翠 发表于 12-27 09:46 266次 阅读
如何避免DevOps的常见问题

采用Java技术和Java 3D虚拟现实技术实现设备远程监控系统的设计

设备的远程监控是制造系统远程监控中的重要组成部分,包括对设备的运行进行监视和控制,对设备可能出现的故....
的头像 电子设计 发表于 12-21 10:35 982次 阅读
采用Java技术和Java 3D虚拟现实技术实现设备远程监控系统的设计

Java如何判定内存中的垃圾

  1、引用计数器算法   解释:系统给每个对象添加一个引用计数器,每当有一个地方引用这个对象的时候,计数器就加1,当引用...
发表于 12-17 16:38 303次 阅读
Java如何判定内存中的垃圾

Java排序有哪几种方式

//插入排序: public class InsertSort implements SortUtil.Sort{ public void sort(int[] data) { int temp; for(int...
发表于 12-16 17:02 202次 阅读
Java排序有哪几种方式

Java编程求二叉树的镜像两种方法介绍

给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。 仔细分析这两棵树的特点,看看能不能总结出求镜像的...
发表于 12-16 16:25 303次 阅读
Java编程求二叉树的镜像两种方法介绍

Docker Desktop 的 3.0.0 版本提供了对 Apple Silicon 的支持

本周四,我们迎来了 Docker Desktop 的 3.0.0 版本。其最大的变化,就是提供了对 ....
的头像 工程师邓生 发表于 12-11 16:09 1067次 阅读
Docker Desktop 的 3.0.0 版本提供了对 Apple Silicon 的支持

Docker开发预览版即将支持苹果Mac M1芯片

今年 11 月,苹果发布了 M1 Mac 设备,Mac 设备开始转向 ARM 生态。尽管 Docke....
的头像 璟琰乀 发表于 12-11 09:52 968次 阅读
Docker开发预览版即将支持苹果Mac M1芯片

HarmonyOS项目和Android项目对比

安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,....
的头像 旺材芯片 发表于 12-10 10:20 1427次 阅读
HarmonyOS项目和Android项目对比

云原生时代的Java,仍在受欢迎吗

Java 诞生距今已有 25 年,但它仍然长期占据着“天下第一”编程语言的宝座。只是其统治地位并非坚....
的头像 如意 发表于 12-07 14:35 463次 阅读
云原生时代的Java,仍在受欢迎吗

性能优越的M1芯片居然不支持Docker

日前,苹果在返场发布会 One More Thing 上隆重揭晓了其自研 5nm M1 芯片以及三款....
的头像 嵌入式ARM 发表于 12-03 09:26 1470次 阅读
性能优越的M1芯片居然不支持Docker