目录
一、概述
在DevSecOps的实施阶段,还需要和企业自身的研发管理体系打通,只有将这些系统之间的数据和能力打通,才能做到DevSecOps的可持续运营,为参与DevSecOps的各个角色提供数据分析,并帮助其做出改进决策。本节介绍这些典型的周边生态系统。
二、项目管理系统
项目管理系统支撑企业业务全过程管理,一般覆盖业务需求收集、可行性分析、项目立项、研发计划、任务安排、工时统计到最终系统上线的全过程。
2.1 项目管理系统基本工作流
下图展示了项目管理系统的基本工作流。
企业的研发过程管理一般都是基于项目,DevSevOps平台的研发安全管理同样是以项目作为抓手,因此必须要和项目管理系统进行打通,获取项目过程中的数据,基于这些数据的分析,安全人员就能够知道什么时候项目立项、项目开发计划和上线节点等,这样可以保证项目的过程跟踪不会缺失,安全的管控在项目早期就可以及时介入。
2.2 常用项目管理系统介绍
2.2.1 禅道
2.2.1.1 禅道概述
禅道是一款国产开源的项目管理软件。它集项目集管理、产品管理、项目管理、质量管理、DevOps、知识库、BI效能、工作流、反馈管理、组织管理和事务管理于一体,为规划、跟踪和交付项目提供了全生命周期的解决方案。
禅道项目管理软件不断关注和研究业内实践,有机融合IPD、SAFe、CMMI、Scrum、看板、瀑布和DevOps等项目管理模型,吸收人工智能(AI)、商业智能(BI)和信息管理(IM)等前沿技术,旨在为用户提供专业高效的项目管理工具及落地解决方案。
2.2.1.2 禅道特点
2.2.1.2.1 部署方案
支持私有化部署,可完全控制、灵活定制、确保数据安全。也支持SaaS云服务,免维护、即开即用。
2.2.1.2.2 管理模型
支持6种管理模型:Scrum、瀑布、看板、IPD、融合敏捷、融合瀑布模型。
2.2.1.2.3 DevOps解决方案
结合禅道项目管理软件已有的功能与流程,基于云原生技术构建。
2.2.1.2.4 自动化测试
自研的开源自动化测试框架ZTF和通用数据生成器ZenData,加上禅道项目管理工具构成了专业的自动化测试解决方案。
支持同时管理多个项目,用户可以在一个平台上管理和跟踪多个项目的进度、任务和资源分配情况,提高项目管理的效率。
2.2.1.2.5 数据大屏
支持查看不同维度内的数据大屏、透视表、图表。并可查看度量项的统计数据、图形化展示和详情信息。
2.2.1.2.6 协同聊天
提供了团队协作和沟通的桌面客户端,支持即时聊天、卡片跳转等功能。
感兴趣的可以查看官网地址:
项目管理软件 开源项目管理软件 免费项目管理软件 IPD管理软件 - 禅道开源项目管理软件 (zentao.net)
2.2.2 Tower
2.2.2.1 介绍
Tower是一款极适合小型团队进行任务协作的工具,例如,扁平化的任务审批。它专门被设计用于协作,以简洁的方式打破业务流程的壁垒,帮助团队更有效地推动项目(并非仅限于研发项目),如软件研发、人力资源管理、销售管理、法务等。值得注意的是,Tower已于2020年11月被ONES收购。
Tower提供的功能包括:项目管理、任务管理(列表视图+看板视图+时间线视图+日历视图)、团队知识库、报告、统计等。其在线SaaS服务分为基础版、高级版和专业版,10人以下的小团队可以免费使用。
感兴趣的可以查看官网地址:
2.2.3 TAPD
2.2.3.1 介绍
APD是由腾讯推出的一站式敏捷研发协作云平台,可以集成企业微信(包括消息提醒、快速登录、便捷入口和成员同步)。
TAPD提供的产品包括:协作&沟通、规划&跟踪、构建&交付、应用&扩展。所有功能均可免费使用。
官网地址:
2.2.4 码云Gitee
2.2.4.1 介绍
Gitee(码云)是一个代码托管和协作开发平台,提供企业级代码托管服务,助推企业数字化转型,提升工程研发效能。
Gitee提供的产品包括:项目协同、代码管理、代码扫描、持续集成、测试管理、制品管理、效度度量等。5人以下的团队可以免费使用。同时,Gitee提供SaaS在线版本(包括标准版、高级版、尊享版)和私有部署版本。
官网地址:
2.2.5 JIRA Software
2.2.5.1 介绍
JIRA Software是一款全面的项目管理工具,它提供了问题跟踪、敏捷开发支持(如Scrum和Kanban)和报告等功能。
JIRA Software的优势在于其强大和灵活性,无论是敏捷开发还是传统的瀑布模型,它都能够适应各种项目管理需求。其问题跟踪功能可以帮助IT运维团队有效地管理任务、BUG和其他工作项。其报告功能可以帮助团队了解项目进度和质量。
JIRA Software特别适合需要管理复杂项目的IT运维团队,尤其是需要支持敏捷开发的团队。
官网地址:
Jira Software - 功能 | Atlassian
三、组件仓库
3.1 组件仓库基本工作流
组件仓库是存放企业内部的第三方开源组件和商业组件的公共仓库,组件仓库的基本工作流程如图所示:
从Fastjson到Log4j2漏洞,企业引入第三方开源组件一直存在大量的安全隐患,因此在整个开发过程中,对软件成分的分析、合规和漏洞检测就非常重要。
通过打通企业的组件仓库与DevSecOps平台,当发现第三方开源组件存在高危漏洞时,能够及时定位到受该开源组件影响的制品包和责任人,可以在短时间内完成资产盘点和预警通知。
此外可以限制外部存在漏洞的组件引入组件仓库,同时在构建过程中通过软件成分分析工具(SCA)可以知道自己的软件项目中都有哪些开源组件。
3.2 常用组件介绍
3.2.1 Apache Archiva
3.2.1.1 介绍
Apache Archiva 是一个开源的软件仓库管理器,可用于存储和分发软件包、库和依赖项。它是由 Apache 软件基金会开发的,以帮助软件开发人员和团队管理他们的软件构建和发布。
使用 Apache Archiva,开发人员可以将其构建产物上传到本地或远程仓库,以便在其他项目中重用这些构建产物。Archiva 还提供了强大的安全性和版本控制功能,使开发人员可以跟踪软件的历史记录和演变,并确保只有授权的用户才能访问他们的软件库。
Archiva 还支持 Maven、Gradle、Ivy 等多种构建工具,并具有灵活的配置选项,以满足各种不同的构建和部署需求。
官网地址:
Archiva – The Build Artifact Repository Manager (apache.org)
3.2.2 Nexus
3.2.2.1 介绍
Nexus是一款流行的开源仓库管理系统,由Sonatype开发和维护。它是一个用于存储、管理和分发软件组件的强大工具。
Nexus 是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。
官网地址:
Software Supply Chain Management | Sonatype
3.2.3 JFrog Artifactory
3.2.3.1 介绍
JFrog Artifactory 是一款功能强大的二进制制品仓库工具,广泛应用于全球多个行业和领域,包括Google、Apple、思科、甲骨文、华为、腾讯等世界500强公司。
JFrog Artifactory是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理工件和依赖项。JFrog Artifactory支持大多数开发语言,是整个DevOps流水线中大多数软件包、容器映像和Helm图表的单一数据源。Artifactory对元数据和资产具有丰富的可见性,可以实现开发生命周期自动化,提供了一套在当今DevSecOps环境中提高开发速度的高效解决方案。
国内地址:
制品库管理_开源制品库_DevOps制品管理工具-JFrog捷蛙 (jfrogchina.com)
官网地址:
Artifactory - Universal Artifact Repository Manager - JFrog
四、其他系统
4.1 概述
除了上述三个系统外,在持续集成流程中还有一些其他的周边系统参与整个流程的协作中。典型的系统如需求管理系统、评审管理系统、工单管理系统等。
4.2 需求管理系统
需求管理系统主要是用于需求的管理,如需求分析、需求设计、需求跟踪、任务分解等。在DevSecOps平台中,主要关注于安全需求的定义和安全需求的设计,用于指导技术人员在概要设计、架构设计中对安全需求做出相应的技术设计。
4.3 评审管理系统
评审管理系统主要是对研发过程中所涉及的关键评审进行管理,例如,需求设计是否通过评审、安全架构是否通过评审、产品原型是否通过评审等,以及在评审过程中发现的安全问题是否得到改正并在相关的设计中得以体现。
4.4 工单管理系统
工单管理系统主要是对于研发过程中的各种任务的跟踪和处理,以便将日常的事务性工作系统化。
4.5 总结
这些周边系统对在整个持续集成流程中安全能力的完善,起到了非常关键的作用,它们是一家企业DevSecOps安全能力全局体现,对于这部分内容,将在后续的章节中为大家详细介绍。
好了,本次内容就分享到这,欢迎大家关注《DevSecOps》专栏,后续会继续输出相关内容文章。如果有帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!