CN115796754A - 面向it研发管理过程的软件发布管理方法、系统及平台 - Google Patents
面向it研发管理过程的软件发布管理方法、系统及平台 Download PDFInfo
- Publication number
- CN115796754A CN115796754A CN202211093193.0A CN202211093193A CN115796754A CN 115796754 A CN115796754 A CN 115796754A CN 202211093193 A CN202211093193 A CN 202211093193A CN 115796754 A CN115796754 A CN 115796754A
- Authority
- CN
- China
- Prior art keywords
- management
- development
- project
- release
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于IT服务管理领域,公开了一种面向IT研发管理过程的软件发布管理方法、系统及平台,所述软件发布管理方法是以云原生为软件架构支持“双模态”应用管理的软件发布管理平台,构建一体化研发管理平台框架,通过该框架实现从项目管理到基础设施的贯通,提供项目管理、研发管理、发布管理、环境管理、制品管理、测试管理统一管理视图,标准化、自动化企业内部IT研发过程;通过整合研发过程数据建立完整的多维数据度量体系,辅助管理层决策,同时结合IT过程管理制度,保障IT组织优化和流程规范化,提高IT组织的DevOps能力成熟度,降低开发运维成本,提升软件持续交付能力和交付质效,有效支撑企业数字化转型和业务持续发展。
Description
技术领域
本发明属于IT服务管理领域,尤其涉及一种面向IT研发管理过程的软件发布管理方法及系统。
背景技术
目前,随着数字化转型进程的加速以及物联网、大数据、云计算、人工智能等新一代信息技术持续发展,IT在数字化转型过程中扮演着重要角色,企业业务的服务方式也发生了根本性的改变,软件研发管理水平成为衡量企业业务服务能力以及创新能力的重要指标。
软件研发管理是对软件全生命周期的整体管理,涵盖了项目管理、开发、测试、发布、运营&运维等多个领域,为了提高研发管理质效,企业在相应垂直领域分批分阶段建设实施了多个IT支撑工具,企业研发管理更加深度地依赖IT支撑工具,软件研发管理范越来越大且涉及的支撑工具越来越多,数据越来越分散,整体管理越来越困难,相关的工作流程、过程管理、统计分析、沟通协作等均需要一个统一的研发管理平台协同管理。
与此同时,随着研发管理模式的演进,敏捷管理深入到IT管理的方方面面,敏态和稳态两种研发模式(“双模”)同时存在并长期共存,随着以容器为代表的虚拟化技术快速发展,企业IT基础设施也发生了变化,对容器应用的管理和虚机应用的管理同等重要。
在这样的背景和趋势下,IT研发管理过程支持工具逐渐向集中统一一站式管理的同时,IT研发管理过程也逐渐从传统的稳态单模式向“双模”态模式持续演进。
企业IT研发团队和管理者都是研发管理过程的参与者,具有不同的诉求,研发团队对支持工具在易用、敏捷、高效、协同、服务能力等方面提出了更高的要求,企业管理者对研发过程在质量和效率的管控方面提出了更高的要求。显然,一种或几种功能单一的支撑工具提供的服务内容,已经无法满足当今数字化时代业务创新和用户体验的要求了。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有技术的IT管理过程跨度大、流程复杂、支撑工具多样异构、协同成本高等原因,造成IT研发管理质效能力提升缓慢。
(2)现有技术的IT组织基于“瀑布型”研发管理模式搭建,重流程、重管理,以一种工程管理的方式定义IT管理过程的每个阶段,这种循序渐进、按部就班的工作方式不能快速响应不断变化的市场环境和用户需求,最终造成企业业务和市场严重脱节,进而影响企业业务服务能力、创新能力。
(3)现有技术缺少统一管理异构工具的一体化管理平台,由于支撑工具异构、多入口、松耦合、权限分散等特点,工具管理困难,学习成本高,架构扩展能力弱,无法为企业级客户提供敏捷高效的一站式持续交付能力。
(4)现有技术缺少统一的服务门户提供完整的管理视图,用户需要在各个工具间切换,工具操作烦琐、运维成本高,无法构建完整、流畅的端到端协同能力。
(5)现有技术缺少统一清晰全面的度量体系,各工具间的数据关联度低,项目管理、开发、测试、运维等过程数据集中管理困难,研发过程数据不可追溯,无法为管理者提供全面、客观的依据,辅助决策。
(6)现有技术缺少统一支持“双模态”应用管理能力,不能兼顾物理机、虚机、云主机等应用运行环境,不能兼顾物理机、虚机和容器等部署方式,不能兼顾部署包、镜像、脚本等各种类型的制品,无法满足错综复杂的应用发布管理过程。
(7)现有技术缺少统一的流程管理制度支持,缺少项目管理、源码管理、制品管理、测试管理等规章制度,无法实现IT活动的标准化、规范化、透明化,进而无法实现研发过程的持续优化。
发明内容
针对现有技术存在的问题,本发明提供了一种面向IT研发管理过程的软件发布管理方法。
本发明是这样实现的,一种面向IT研发管理过程的软件发布管理方法,包括:
构建统一的Web服务门户,通过反向代理和统一身份认证系统集中管理项目、研发、测试、构建、发布、运维服务工具,用户通过平台提供的统一web入口访问不同的管理视图;
构建权限管理系统,按业务角色划分资源的操作权限和数据权限,项目管理员操作项目需求资源,对IT基础设施、配置仓库、制品库进行调用,系统流水线运行,发布策略资源;
构建可配的流水线编排系统和丰富且可扩展的插件集,通过流水线编排能力实现软件持续构建、持续测试、持续发布的自动化和质量控制;
构建软件基线管理视图,在提交代码后,创建测试基线,并将该基线和开发涉及的源码、项目任务进行关联,然后,执行发布任务,所述基线会自动关联任务执行实例和构建产生的软件制品;
构建管理员驾驶舱度量系统,实时采集从需求到任务发布的过程数据并进行分类展示,度量IT研发质效;
基于分布式微服务架构设计,将web端、权限认证、消息通知、资源调度、工具集成、API网关核心模块进行微服务化。
进一步,所述软件发布管理方法具体包括以下步骤:
(101)统一门户服务模块为项目需求人员、研发测试人员、运维管理人员等不同角色用户提供不同的业务操作入口,相关角色人员在项目需求管理、研发测试管理、运维系统管理界面进行相应的业务操作;
(102)所述项目管理模块将软件研发过程人员、项目里程碑、项目计划和发布版本进行组织和规划;
(103)需求管理模块为软件研发提供业务、技术需求,项目需求管理人员创建相关研发任务,研发任务包含软件需求和软件缺陷两种类型,并将任务分配给研发人员;
(104)按需设计应用系统的自动化CI、CT、CD流水线,配置发布策略、发布环境、环境配置信息;
(105)实现应用系统的研发任务并将相关源码提交到配置库进行分支、版本管理,并对源码进行静态扫描质量检查,若扫描结果符合质量阈值,则跳转到步骤(106),否则跳转到步骤(105);
(106)创建测试基线,关联项目任务和源码,创建发布任务并执行自动化构建流水线,如果构建成功则跳转到步骤(107),否则跳转到步骤(105)继续开发并发送构建失败告警;
(107)从制品库关联步骤(106)步骤产生的工件版本,执行自动化部署流水线,若部署成功则跳转到步骤(108),否则跳转到步骤(105)继续开发并发送部署失败告警;
(108)执行自动化测试流水线,若测试成功则跳转到步骤(109)并更新项目需求状态为已完成,否则跳转到步骤(105)继续开发并发送测试失败告警;
(109)基线测试完成,源代码基线、制品工件归档;
(110)过程度量模块自动采集项目需求、流水线执行、系统运维等多维度过程数据,并在平台上集中展示供管理者参考和决策。
进一步,所述软件发布管理方法的业务流程包括项目需求获取、项目开发、项目测试、项目发布以及运营,具体过程为:
首先,需求人员在项目管理平台提交研发需求,同时为该研发需求创建项目任务,开发人员查看后着手开发,将开发的代码提交到配置库自动触发DevOps流水线完成开发环境的应用自动化构建和部署,待开发环境验证通过后,测试人员创建测试基线,并基于该基线手动触发DevOps流水线,完成测试环境的自动化构建和部署,最后,测试环境验证通过后,将稳定的版本发布到生产环境;
所述DevOps流水线于自动构建CI后,上传制品至制品库,下载制品后,自动部署CD,结束;
所述自动构建CI于获取代码后,检出代码,扫描静态代码,进行编译打包,上传制品包,最后构建结果通知;
所述自动部署CD是先下载制品包,停止应用,对应用进行备份,部署应用,启动、验证应用,最后进行部署结果通知,所处发布环境为SIT测试环境、UAT测试环境、PROD环境。
本发明的另一目的在于提供一种软件发布管理平台,用于统一管理、资源编排和流程调度,驱动业务流程在项目需求、开发、测试、发布、运营环节流转;
所述软件发布管理平台向上提供统一服务门户,用于为不同用户和业务提供所需的各类视图,提供过程度量体系;
所述软件发布管理平台向下通过混合云管平台接入底层的各类IT基础资源,为软件交付提供弹性可靠的运行环境;
所述软件发布管理平台左右两侧联接管理工具。
进一步,所述软件发布管理方法,包括以下步骤:(101)所述统一门户服务模块为项目需求人员、研发测试人员、运维管理人员等不同角色用户提供不同的业务操作入口,相关角色人员在项目需求管理、研发测试管理、运维系统管理界面进行相应的业务操作;(102)所述项目管理模块将软件研发过程人员、项目里程碑、项目计划和发布版本进行组织和规划;(103)所述需求管理模块为软件研发提供业务、技术需求,项目需求管理人员创建相关研发任务,研发任务包含软件需求和软件缺陷两种类型,并将任务分配给研发人员;(104)系统管理员按需设计应用系统的自动化CI、CT、CD流水线,配置发布策略、发布环境、环境配置等信息;(105)开发人员实现应用系统的研发任务并将相关源码提交到配置库进行分支、版本管理,并对源码进行静态扫描质量检查,若扫描结果符合质量阈值,则跳转到步骤(106),否则跳转到步骤(105);(106)测试人员创建测试基线,关联项目任务和源码,创建发布任务并执行自动化构建流水线,如果构建成功则跳转到步骤(107),否则跳转到步骤(105)继续开发并发送构建失败告警;(107)从制品库关联步骤(106)步骤产生的工件版本,执行自动化部署流水线,若部署成功则跳转到步骤(108),否则跳转到步骤(105)继续开发并发送部署失败告警;(108)执行自动化测试流水线,若测试成功则跳转到步骤(109)并更新项目需求状态为已完成,否则跳转到步骤(105)继续开发并发送测试失败告警;(109)基线测试完成,源代码基线、制品工件归档;(110)过程度量模块自动采集项目需求、流水线执行、系统运维等多维度过程数据,并在平台上集中展示供管理者参考和决策。
进一步,所述软件发布管理方法的业务流程包括项目需求获取、项目开发、项目测试、项目发布以及运营,具体过程为:
首先,需求人员在项目管理平台提交研发需求,同时为该研发需求创建项目任务,开发人员查看后着手开发,将开发的代码提交到配置库自动触发DevOps流水线完成开发环境的应用自动化构建和部署,待开发环境验证通过后,测试人员创建测试基线并基于该基线手动触发DevOps流水线,完成测试环境的自动化构建和部署,最后,测试环境验证通过后,将稳定的版本发布到生产环境;
所述DevOps流水线于自动构建CI后,自动上传制品至制品库,自动下载制品,自动部署CD,结束;
所述自动构建CI于配置库获取代码后,检出代码,进行代码静态扫描,进行编译打包,上传制品包,最后构建结果通知;
所述自动部署CD是先下载制品包,停止应用,对应用进行备份,部署应用,启动、验证应用,最后进行部署结果通知,所处发布环境为SIT测试环境、UAT测试环境、PROD环境。
进一步,所述视图包括项目视图、开发视图、测试视图、管理视图、发布视图、需求视图,用于一站式完成软件交付过程所需的所有工作包括申请、审批、查看、调整、度量分析服务管理工作。
进一步,所述过程度量体系提供了多维度度量指标,包括项目度量、需求度量、缺陷度量、源码度量、测试度量、CI/CD度量,用于度量分析和管理。
进一步,所述IT基础资源包括私有云、公有云、容器、物理资源、中间件。
进一步,所述规范文档通过IT过程管理规范,对业务系统接入、源码管理、制品管理、源码质量管理进行规范,持续优化研发过程。
进一步,所述管理工具包括项目管理、需求管理、配置管理、流水线管理以及集成管理;
所述项目管理包括项目计划、里程碑、成员管理、发版管理以及项目看板,用于连接和调度项目需求管理服务,实现项目需求管理;
所述需求管理包括业务需求、技术需求、需求管理、任务管理、进度管理;
所述配置管理包括仓库管理、分支管理、基线管理、安全管理以及审计管理,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
所述流水线管理包括CI流水线、CD流水线、CT流水线、发布管理以及制品管理,用于驱动CI、CT、CD流水线,实现企业范围内灵活可编排的自动化流程服务;
所述CI流水线包括代码集成、静态扫描、编译构建、单元测试、制品上传;所述CD流水线包括脚本管理、部署管理、回滚管理、日志管理、数据库管理,所述CT流水线包括接口测试、UI测试、回归测试、性能测试以及测试报告;所述发布管理为发布审批、发布策略、蓝图管理、版本管理以及环境管理,所述制品管理包括制品版本、配置管理、版本比对、数据版本、制品校验;
所述集成管理包括OA、ITIL、IM、APM,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
本发明的另一目的在于提供一种实施所述面向IT研发管理过程的软件发布管理,所述面向IT研发管理过程的软件发布管理系统包括:
流水线管理模块,驱动CI、CT、CD流水线,用于在企业范围内灵活可编排的自动化流程服务;
发布管理和制品管理模块,用于管理基础环境、应用流水线、应用版本、发布审批、发布策略过程资源;
项目管理模块,用于连接和调度项目需求管理服务,实现项目需求管理;
配置管理模块,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
集成管理模块,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
进一步,所述系统包括,
提供统一门户服务模块,为不同角色用户和业务提供所需的各类视图,包括项目视图、需求视图、开发视图、测试视图、发布视图和管理视图;
过程度量模块,提供端到端不同阶段度量指标的展示,包括发布频次、构建/部署成功失败率、代码扫描通过率、自动化测试成功失败率;
项目管理模块,其用于将与软件发布管理过程相关的人员、项目里程碑、项目计划和发布版本进行管理;
需求管理模块,用于提供与业务、技术相关的需求管理,并对研发任务以及进度进行管理,为项目管理提供需求边界;
配置管理模块,用于对软件发布过程中为实现项目需求所产生的文档、源码、脚本等文件进行存储、风险控制和版本管理,方便事件跟踪和回溯;
IT基础资源管理模块,提供混合云管平台接入底层的各类IT基础资源,包括不限于虚机、物理机、裸金属、容器,为软件交付自动化流水线的自动化构建(CI)、自动化部署提弹性可靠的运行环境;
流水线管理模块,用于提供自动化构建(CI)、自动化部署(CD)、自动化测试(CT)的流水线管理,并提供对发布流程审批、发布策略、发布版本、发布环境的管理,用于将满足需求的源代码进行按需进行自动化构建、测试、部署;制品管理模块,提供对部署工件包的版本管理,接收自动化构建的产物,并为自动化部署提供工件包;
集成管理模块,提供即时通信、ITIL、OA等第三方工具对接,用于消息通知、关联组件状态更新等功能;
所述统一门户服务模块、所述过程度量模块、所述项目管理模块、所述需求管理模块、所述配置管理模块、所述IT基础资源管理模块,所述流水线管理模块、所述制品管理模块和所述集成管理模块进行软件发布管理。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述面向IT研发管理过程的软件发布管理方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述面向IT研发管理过程的软件发布管理方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述面向IT研发管理过程的软件发布管理系统。
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
本发明提供的方法实现了全链路贯通:面向IT研发过程管理,涵盖了项目需求、研发、测试、发布、运维阶段,实现从需求到基础设施的贯通,提供完整的应用全生命周期管理视图。
本发明提供的方法实现了提升交付质效:面向业务和角色,提供IT研发管理服务统一入口,打通部门壁垒,不同角色的不同操作一站完成,缩短业务响应时间,加速软件系统交付,提升软件交付质量,提升整体业务效率;
本发明提供的方法实现了规范交付过程:面向企业内部研发流程,将企业内各类研发管理工具及IT资源进行统一管理和编排,有效减少资源管理成本,降低安全风险,使软件交付流程标准化、规范化;
本发明提供的方法实现了加强业务协同:提供了组织级的流程自动化,降低沟通协调成本,改善部门间的协作方式,促进业务合作创新。
本发明提供的方法实现了架构灵活可扩展:基于微服务架构设计理念构建平台,各模块功能边界清晰,且易于扩展,可按需进行灵活扩展,快速响应企业管理过程变化。
本发明针对数字化转型企业,面向应用软件持续构建和持续发布管理,结合最佳实践,设计一体化研发管理平台框架。通过该框架实现从项目管理到基础设施的贯通,提供项目管理、研发管理、发布管理、环境管理、制品管理、测试管理统一管理视图,将企业内部IT研发过程流程标准化、自动化。并通过整合研发过程数据建立完整的多维数据度量体系,辅助管理层决策,同时结合IT过程管理制度,保障促进IT组织优化和流程规范化,降低开发运维成本,提升软件持续交付能力和交付质效,有效支撑企业数字化转型和业务持续发展。
本发明的技术方案转化后的预期收益和商业价值为:本发明提供了一种以云原生为软件架构支持“双模态”应用管理的软件发布管理平台,构建面向企业IT软件研发管理质量和效率的方法,支持企业顺利开展DevOps转型,提高IT组织的DevOps能力成熟度。
本发明的技术方案填补了国内外业内技术空白,解决了人们一直渴望解决、但始终未能获得成功的技术难题:本发明的关键在于软件发布管理平台核心的统一管理、资源编排和流程调度能力。由于企业内部IT资源类型和技术栈的繁杂,传统服务平台缺乏对各类资源的统一管理和编排能力,无法满足用户提出的综合服务需求。而软件发布管理平台内在具备这一能力,并可以随着技术发展持续扩展管理和编排资源的范围。
本发明中,软件发布管理平台还被定位为流程连接、驱动的角色,因此流程调度成为另一个能力关键点,通过内建的流程调度引擎,可以灵活、可扩展的对接各类流程和工具,使全面自动化成为可能。
附图说明
图1是本发明实施例提供的面向IT研发管理过程的软件发布管理系统的架构示意图。
图2是本发明实施例提供的面向IT研发管理过程的软件发布管理系统的业务逻辑架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种面向IT研发管理过程的软件发布管理方法,提供统一门户服务模块,为不同角色用户和业务提供所需的各类视图,包括项目视图、需求视图、开发视图、测试视图、发布视图和管理视图;过程度量模块,提供端到端不同阶段度量指标的展示,包括发布频次、构建/部署成功失败率、代码扫描通过率、自动化测试成功失败率;项目管理模块,其用于将与软件发布管理过程相关的人员、项目里程碑、项目计划和发布版本进行管理;需求管理模块,用于提供与业务、技术相关的需求管理,并对研发任务以及进度进行管理,为项目管理提供需求边界;配置管理模块,用于对软件发布过程中为实现项目需求所产生的文档、源码、脚本等文件进行存储、风险控制和版本管理,方便事件跟踪和回溯;IT基础资源管理模块,提供混合云管平台接入底层的各类IT基础资源,包括不限于虚机、物理机、裸金属、容器,为软件交付自动化流水线的自动化构建(CI)、自动化部署提弹性可靠的运行环境;流水线管理模块,用于提供自动化构建(CI)、自动化部署(CD)、自动化测试(CT)的流水线管理,并提供对发布流程审批、发布策略、发布版本、发布环境的管理,用于将满足需求的源代码进行按需进行自动化构建、测试、部署;制品管理模块,提供对部署工件包的版本管理,接收自动化构建的产物,并为自动化部署提供工件包;集成管理模块,提供即时通信、ITIL、OA等第三方工具对接,用于消息通知、关联组件状态更新等功能;所述统一门户服务模块、所述过程度量模块、所述项目管理模块、所述需求管理模块、所述配置管理模块、所述IT基础资源管理模块,所述流水线管理模块、所述制品管理模块和所述集成管理模块进行软件发布管理,包括以下步骤:(101)所述统一门户服务模块为项目需求人员、研发测试人员、运维管理人员等不同角色用户提供不同的业务操作入口,相关角色人员在项目需求管理、研发测试管理、运维系统管理界面进行相应的业务操作;(102)所述项目管理模块将软件研发过程人员、项目里程碑、项目计划和发布版本进行组织和规划;(103)所述需求管理模块为软件研发提供业务、技术需求,项目需求管理人员创建相关研发任务,研发任务包含软件需求和软件缺陷两种类型,并将任务分配给研发人员;(104)系统管理员按需设计应用系统的自动化CI、CT、CD流水线,配置发布策略、发布环境、环境配置等信息;(105)开发人员实现应用系统的研发任务并将相关源码提交到配置库进行分支、版本管理,并对源码进行静态扫描质量检查,若扫描结果符合质量阈值,则跳转到步骤(106),否则跳转到步骤(105);(106)测试人员创建测试基线,关联项目任务和源码,创建发布任务并执行自动化构建流水线,如果构建成功则跳转到步骤(107),否则跳转到步骤(105)继续开发并发送构建失败告警;(107)从制品库关联步骤(106)步骤产生的工件版本,执行自动化部署流水线,若部署成功则跳转到步骤(108),否则跳转到步骤(105)继续开发并发送部署失败告警;(108)执行自动化测试流水线,若测试成功则跳转到步骤(109)并更新项目需求状态为已完成,否则跳转到步骤(105)继续开发并发送测试失败告警;(109)基线测试完成,源代码基线、制品工件归档;(110)过程度量模块自动采集项目需求、流水线执行、系统运维等多维度过程数据,并在平台上集中展示供管理者参考和决策。
如图1所示,本发明实施例提供的面向IT研发管理过程的软件发布管理平台,包括:
所述软件发布管理平台打通软件全生命周期端到端全流程,用于统一管理、资源编排和流程调度,驱动业务流程在项目需求、开发、测试、发布、运营环节流转;
所述软件发布管理平台向上为统一服务门户,用于为不同用户和业务提供所需的各类视图;
所述软件发布管理平台向下为混合云管理平台,通过混合云管平台接入底层的各类IT基础资源,为软件交付提供弹性可靠的运行环境;
所述软件发布管理平台左右两侧联接管理工具。
如图2所示,本发明实施例提供的软件发布管理方法的业务流程包括项目需求获取、项目开发、项目测试、项目发布以及运营,具体过程为:
首先,需求人员在项目管理平台提交研发需求,同时为该研发需求创建项目任务,开发人员查看后着手开发,将开发的代码提交到配置库自动触发DevOps流水线完成开发环境的应用自动化构建和部署,待开发环境验证通过后,测试人员创建测试基线,并基于该基线手动触发DevOps流水线,完成测试环境的自动化构建和部署,最后,测试环境验证通过后,将稳定的版本发布到生产环境;
所述DevOps流水线于自动构建CI后,上传制品至制品库,下载制品后,自动部署CD,结束;
所述自动构建CI于获取代码后,检出代码,扫描静态代码,进行编译打包,上传制品包,最后构建结果通知;
所述自动部署CD是先下载制品包,停止应用,对应用进行备份,部署应用,启动、验证应用,最后进行部署结果通知,所处发布环境为SIT测试环境、UAT测试环境、PROD环境。
进一步,所述视图包括项目视图、开发视图、测试视图、管理视图、发布视图、需求视图,用于一站式完成软件交付过程所需的所有工作包括申请、审批、查看、调整、度量分析服务管理工作。
进一步,所述过程度量体系提供了多维度度量指标,包括项目度量、需求度量、缺陷度量、源码度量、测试度量、CI/CD度量,用于度量分析和管理。
进一步,所述IT基础资源包括私有云、公有云、容器、物理资源、中间件。
进一步,所述规范文档通过IT过程管理规范,对业务系统接入、源码管理、制品管理、源码质量管理进行规范,持续优化研发过程。
进一步,所述管理工具包括项目管理、需求管理、配置管理、流水线管理以及集成管理;
所述项目管理包括项目计划、里程碑、成员管理、发版管理以及项目看板,用于连接和调度项目需求管理服务,实现项目需求管理;
所述需求管理包括业务需求、技术需求、需求管理、任务管理、进度管理;
所述配置管理包括仓库管理、分支管理、基线管理、安全管理以及审计管理,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
所述流水线管理包括CI流水线、CD流水线、CT流水线、发布管理以及制品管理,用于驱动CI、CT、CD流水线,实现企业范围内灵活可编排的自动化流程服务;
所述CI流水线包括代码集成、静态扫描、编译构建、单元测试、制品上传;所述CD流水线包括脚本管理、部署管理、回滚管理、日志管理、数据库管理,所述CT流水线包括接口测试、UI测试、回归测试、性能测试以及测试报告;所述发布管理为发布审批、发布策略、蓝图管理、版本管理以及环境管理,所述制品管理包括制品版本、配置管理、版本比对、数据版本、制品校验;
所述集成管理包括OA、ITIL、IM、APM,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
进一步,所述视图包括项目视图、开发视图、测试视图、管理视图、发布视图、需求视图,用于一站式完成软件交付过程所需的所有工作包括申请、审批、查看、调整、度量分析服务管理工作。
进一步,所述IT基础资源包括私有云、公有云、容器、物理资源、中间件。
进一步,所述管理工具包括项目管理、需求管理、配置管理、流水线管理以及集成管理;
所述项目管理包括项目计划、里程碑、成员管理、发版管理以及项目看板,用于连接和调度项目需求管理服务,实现项目需求管理;
所述需求管理包括业务需求、技术需求、需求管理、任务管理、进度管理;
所述配置管理包括仓库管理、分支管理、基线管理、安全管理以及审计管理,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
所述流水线管理包括CI流水线、CD流水线、CT流水线、发布管理以及制品管理,用于驱动CI、CT、CD流水线,实现企业范围内灵活可编排的自动化流程服务;
所述CI流水线包括代码集成、静态扫描、编译构建、单元测试、制品上传;所述CD流水线包括脚本管理、部署管理、回滚管理、日志管理、数据库管理,所述CT流水线包括接口测试、UI测试、回归测试、性能测试以及测试报告;所述发布管理为发布审批、发布策略、蓝图管理、版本管理以及环境管理,所述制品管理包括制品版本、配置管理、版本比对、数据版本、制品校验。
所述集成管理包括OA、ITIL、IM、APM,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
如图2所示,本发明实施例提供的软件发布管理方法的业务流程包括项目需求获取、项目开发、项目测试、项目发布以及运营,具体过程为:
首先,需求人员在项目管理平台提交需求,开发人员查看后着手开发,将开发的代码提交到配置库自动触发DevOps流水线,同时测试人员测试完代码后可手动触发DevOps流水线,同时将度量指标提供未管理员驾驶舱,管理员进行过程度量体系分析;
所述DevOps流水线于自动构建CI后,上传制品至制品库,下载制品后,自动部署CD,结束;
所述自动构建CI于获取代码后,检出代码,扫描静态代码,进行编译打包,上传制品包,检出代码,最后构建结果通知;
所述自动部署CD是先下载制品包,停止应用,对应用进行备份,部署应用,启动、验证应用,最后进行部署结果通知,所处发布环境为SIT测试环境、UAT测试环境、PROD环境。
进一步,所述过程度量体系提供了多维度度量指标,包括项目度量、需求度量、缺陷度量、源码度量、测试度量、CI/CD度量,用于度量分析和管理。
进一步,所述规范文档通过IT过程管理规范,对业务系统接入、源码管理、制品管理、源码质量管理进行规范,持续优化研发过程。
本发明的另一目的在于提供一种实施所述面向IT研发管理过程的软件发布管理,所述面向IT研发管理过程的软件发布管理系统包括:
流水线管理模块,驱动CI、CT、CD流水线,用于在企业范围内灵活可编排的自动化流程服务;
发布管理和制品管理模块,用于管理基础环境、应用流水线、应用版本、发布审批、发布策略过程资源;
项目管理模块,用于连接和调度项目需求管理服务,实现项目需求管理;
配置管理模块,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
集成管理模块,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
某省级股份制商业银行,采用本发明实施例提供的方法构建了研发一体化管理平台体系,实现了以下主要服务能力:
软件交付过程自助化:通过需求管理、研发管理、测试管理、发布管理、运维管理等管理视图,各类用户可以随需自助进行软件发布相关活动。
软件交付过程自动化:软件交付通过自动化流程控制,在软件发布管理平台的统一调度下自动完成,并可根据需要在自动化流程中进行个性化设置;
软件交付过程审批流程化:软件发布申请的审批通过平台集成的即时通信工具流转电子审批,高效合规可审计;
软件交付过程可视化:通过对软件交付活动相关的项目、需求、缺陷、测试、构建、部署、运维等情况的数据汇总及量化统计,提供全局的多维数据度量体系,并对业务系统接入情况进行评价打分,持续提升软件交付效率。
某省级电视直播中心,采用本发明实施例提供的方法构建了研发一体化管理平台体系,实现了以下主要服务能力:
源码管理集中化:通过研发管理平台的源码管理模块集中管控各业务系统源码,并进行分支管理、基线管理、权限管理、审计管理和安全管理,提高了该IT组织对源码版本和安全的管控能力;
项目管理透明化:通过研发管理平台的项目管理模块线上追踪业务应用系统的需求、研发任务和测试用例、bug等事项的状态流转,使整个项目管理生命周期过程透明化、执行效果可量化;
发版流程标准化:研发管理平台接管业务应用系统的开发、测试、预投产、生产等多个发版环境,通过源码基线的创建、测试、发布等过程使发版流程标准化;
IT研发过程可度量:通过研发管理平台对软件交付活动相关的项目、需求、缺陷、测试、构建、部署、运维等情况的数据汇总及量化统计,提供全局的多维数据度量体系,量化IT研发过程各环节执行效果,为管理者制定决策提供有力的数据支持;
软件交付“双模态”管理:通过软件发布管理平台同时管理虚机应用和容器应用,实现传统制品包和容器镜像的自动化构建、版本管理、自动化部署,实现应用的稳态和敏态发布。
软件交付流程规范化:通过软件发布管理平台对IT研发过程的源码版本控制、发布环境管理、制品版本管理、发布策略管理、流水线管理以及IT研发过程规范管理,使软件交付活动标准化、规范化、合规化,持续提升软件交付质效。
以下表格为某省级股份制商业银行使用本发明前后效果的对比:
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体,或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (11)
1.一种面向IT研发管理过程的软件发布管理方法,其特征在于,所述面向IT研发管理过程的软件发布管理方法,包括:
构建统一的Web服务门户,通过反向代理和统一身份认证系统集中管理项目、研发、测试、构建、发布、运维服务工具,用户通过平台提供的统一web入口访问不同的管理视图;
构建权限管理系统,按业务角色划分资源的操作权限和数据权限,项目管理员操作项目需求资源,对IT基础设施、配置仓库、制品库进行调用,系统流水线运行,发布策略资源;
构建可配的流水线编排系统和丰富且可扩展的插件集,通过流水线编排能力实现软件持续构建、持续测试、持续发布的自动化和质量控制;
构建软件基线管理视图,在提交代码后,创建测试基线,并将该基线和开发涉及的源码、项目任务进行关联,然后,执行发布任务,所述基线会自动关联任务执行实例和构建产生的软件制品;
构建管理员驾驶舱度量系统,实时采集从需求到任务发布的过程数据并进行分类展示,度量IT研发质效;
基于分布式微服务架构设计,将web端、权限认证、消息通知、资源调度、工具集成、API网关核心模块进行微服务化。
2.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述软件发布管理方法具体包括以下步骤:
(101)统一门户服务模块为项目需求人员、研发测试人员、运维管理人员等不同角色用户提供不同的业务操作入口,相关角色人员在项目需求管理、研发测试管理、运维系统管理界面进行相应的业务操作;
(102)所述项目管理模块将软件研发过程人员、项目里程碑、项目计划和发布版本进行组织和规划;
(103)需求管理模块为软件研发提供业务、技术需求,项目需求管理人员创建相关研发任务,研发任务包含软件需求和软件缺陷两种类型,并将任务分配给研发人员;
(104)按需设计应用系统的自动化CI、CT、CD流水线,配置发布策略、发布环境、环境配置信息;
(105)实现应用系统的研发任务并将相关源码提交到配置库进行分支、版本管理,并对源码进行静态扫描质量检查,若扫描结果符合质量阈值,则跳转到步骤(106),否则跳转到步骤(105);
(106)创建测试基线,关联项目任务和源码,创建发布任务并执行自动化构建流水线,如果构建成功则跳转到步骤(107),否则跳转到步骤(105)继续开发并发送构建失败告警;
(107)从制品库关联步骤(106)步骤产生的工件版本,执行自动化部署流水线,若部署成功则跳转到步骤(108),否则跳转到步骤(105)继续开发并发送部署失败告警;
(108)执行自动化测试流水线,若测试成功则跳转到步骤(109)并更新项目需求状态为已完成,否则跳转到步骤(105)继续开发并发送测试失败告警;
(109)基线测试完成,源代码基线、制品工件归档;
(110)过程度量模块自动采集项目需求、流水线执行、系统运维等多维度过程数据,并在平台上集中展示供管理者参考和决策。
3.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述软件发布管理方法的业务流程包括项目需求获取、项目开发、项目测试、项目发布以及运营,具体过程为:
首先,需求人员在项目管理平台提交研发需求,同时为该研发需求创建项目任务,开发人员查看后着手开发,将开发的代码提交到配置库自动触发DevOps流水线完成开发环境的应用自动化构建和部署,待开发环境验证通过后,测试人员创建测试基线,并基于该基线手动触发DevOps流水线,完成测试环境的自动化构建和部署,最后,测试环境验证通过后,将稳定的版本发布到生产环境;
所述DevOps流水线于自动构建CI后,上传制品至制品库,下载制品后,自动部署CD,结束;
所述自动构建CI于获取代码后,检出代码,扫描静态代码,进行编译打包,上传制品包,最后构建结果通知;
所述自动部署CD是先下载制品包,停止应用,对应用进行备份,部署应用,启动、验证应用,最后进行部署结果通知,所处发布环境为SIT测试环境、UAT测试环境、PROD环境。
4.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述视图包括项目视图、开发视图、测试视图、管理视图、发布视图、需求视图,用于一站式完成软件交付过程所需的所有工作包括申请、审批、查看、调整、度量分析服务管理工作。
5.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述过程度量体系提供了多维度度量指标,包括项目度量、需求度量、缺陷度量、源码度量、测试度量、CI/CD度量,用于度量分析和管理。
6.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述IT基础资源包括私有云、公有云、容器、物理资源、中间件。
7.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述规范文档通过IT过程管理规范,对业务系统接入、源码管理、制品管理、源码质量管理进行规范,持续优化研发过程。
8.如权利要求1所述面向IT研发管理过程的软件发布管理方法,其特征在于,所述管理工具包括项目管理、需求管理、配置管理、流水线管理以及集成管理;
所述项目管理包括项目计划、里程碑、成员管理、发版管理以及项目看板,用于连接和调度项目需求管理服务,实现项目需求管理;
所述需求管理包括业务需求、技术需求、需求管理、任务管理、进度管理;
所述配置管理包括仓库管理、分支管理、基线管理、安全管理以及审计管理,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
所述流水线管理包括CI流水线、CD流水线、CT流水线、发布管理以及制品管理,用于驱动CI、CT、CD流水线,实现企业范围内灵活可编排的自动化流程服务;
所述CI流水线包括代码集成、静态扫描、编译构建、单元测试、制品上传;所述CD流水线包括脚本管理、部署管理、回滚管理、日志管理、数据库管理,所述CT流水线包括接口测试、UI测试、回归测试、性能测试以及测试报告;所述发布管理为发布审批、发布策略、蓝图管理、版本管理以及环境管理,所述制品管理包括制品版本、配置管理、版本比对、数据版本、制品校验;
所述集成管理包括OA、ITIL、IM、APM,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
9.一种实施如权利要求1-8任意一项所述面向IT研发管理过程的软件发布管理系统,其特征在于,所述面向IT研发管理过程的软件发布管理系统包括:
流水线管理模块,驱动CI、CT、CD流水线,用于在企业范围内灵活可编排的自动化流程服务;
发布管理和制品管理模块,用于管理基础环境、应用流水线、应用版本、发布审批、发布策略过程资源;
项目管理模块,用于连接和调度项目需求管理服务,实现项目需求管理;
配置管理模块,用于连接和调度配置库管理服务,实现源码仓库、分支、安全审计管理;
集成管理模块,用于连接和驱动即时通、办公系统、ITIL等他工具,实现企业内容工具协同。
10.如权利要求9所述的软件发布管理系统,其特征在于,所述软件发布管理系统具体包括:
提供统一门户服务模块,为不同角色用户和业务提供所需的各类视图,包括项目视图、需求视图、开发视图、测试视图、发布视图和管理视图;
过程度量模块,提供端到端不同阶段度量指标的展示,包括发布频次、构建/部署成功失败率、代码扫描通过率、自动化测试成功失败率;
项目管理模块,其用于将与软件发布管理过程相关的人员、项目里程碑、项目计划和发布版本进行管理;
需求管理模块,用于提供与业务、技术相关的需求管理,并对研发任务以及进度进行管理,为项目管理提供需求边界;
配置管理模块,用于对软件发布过程中为实现项目需求所产生的文档、源码、脚本等文件进行存储、风险控制和版本管理,方便事件跟踪和回溯;
IT基础资源管理模块,提供混合云管平台接入底层的各类IT基础资源,包括不限于虚机、物理机、裸金属、容器,为软件交付自动化流水线的自动化构建(CI)、自动化部署提弹性可靠的运行环境;
流水线管理模块,用于提供自动化构建(CI)、自动化部署(CD)、自动化测试(CT)的流水线管理,并提供对发布流程审批、发布策略、发布版本、发布环境的管理,用于将满足需求的源代码进行按需进行自动化构建、测试、部署;
制品管理模块,提供对部署工件包的版本管理,接收自动化构建的产物,并为自动化部署提供工件包;
集成管理模块,提供即时通信、ITIL、OA等第三方工具对接,用于消息通知、关联组件状态更新功能。
11.一种软件发布管理平台,用于统一管理、资源编排和流程调度,驱动业务流程在项目需求、开发、测试、发布、运营环节流转;
所述软件发布管理平台向上提供统一服务门户,用于为不同用户和业务提供所需的各类视图,提供过程度量体系;
所述软件发布管理平台向下通过混合云管平台接入底层的各类IT基础资源,为软件交付提供弹性可靠的运行环境;
所述软件发布管理平台左右两侧联接管理工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211093193.0A CN115796754A (zh) | 2022-09-08 | 2022-09-08 | 面向it研发管理过程的软件发布管理方法、系统及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211093193.0A CN115796754A (zh) | 2022-09-08 | 2022-09-08 | 面向it研发管理过程的软件发布管理方法、系统及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796754A true CN115796754A (zh) | 2023-03-14 |
Family
ID=85431800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211093193.0A Pending CN115796754A (zh) | 2022-09-08 | 2022-09-08 | 面向it研发管理过程的软件发布管理方法、系统及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796754A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719555A (zh) * | 2023-07-27 | 2023-09-08 | 江苏博云科技股份有限公司 | 软件制品包以及元数据的晋级与分发系统及方法 |
CN117971172A (zh) * | 2024-01-26 | 2024-05-03 | 中科科界(北京)科技有限公司 | 一种基于低代码配置的项目管理系统开发方法 |
-
2022
- 2022-09-08 CN CN202211093193.0A patent/CN115796754A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719555A (zh) * | 2023-07-27 | 2023-09-08 | 江苏博云科技股份有限公司 | 软件制品包以及元数据的晋级与分发系统及方法 |
CN116719555B (zh) * | 2023-07-27 | 2023-11-10 | 江苏博云科技股份有限公司 | 软件制品包以及元数据的晋级与分发系统及方法 |
CN117971172A (zh) * | 2024-01-26 | 2024-05-03 | 中科科界(北京)科技有限公司 | 一种基于低代码配置的项目管理系统开发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9087041B2 (en) | Enterprise test system platform and associated method for interoperable test data management, test development, test libraries and test workflow management and automation | |
US20210117895A1 (en) | Systems and Methods for Cross-Platform Scheduling and Workload Automation | |
CN115796754A (zh) | 面向it研发管理过程的软件发布管理方法、系统及平台 | |
US10310968B2 (en) | Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns | |
US9354904B2 (en) | Applying packages to configure software stacks | |
US8276152B2 (en) | Validation of the change orders to an I T environment | |
CN111080257A (zh) | 基于DevOps端到端在线研发管理的系统和方法 | |
US8645326B2 (en) | System to plan, execute, store and query automation tests | |
US20180285247A1 (en) | Systems, methods, and apparatus for automated code testing | |
CN101411123B (zh) | 用于分布式数据处理系统端点上的集中式系统管理的方法、系统和计算机程序 | |
US20150378722A1 (en) | Enhanced compliance verification system | |
US20150020059A1 (en) | Migration services for systems | |
Vadapalli | DevOps: continuous delivery, integration, and deployment with DevOps: dive into the core DevOps strategies | |
JP2009534773A (ja) | プロセス符号化 | |
CN114610368B (zh) | 一种平台工具链整合及维护方法、系统、设备和介质 | |
US11924029B2 (en) | System for scoring data center application program interfaces | |
CN114995872A (zh) | 基于DevOps的项目管理方法、装置及存储介质 | |
US20230222510A1 (en) | System for Automatically Generating Customer Specific Data Center Application Program Interface Documentation | |
US10838714B2 (en) | Applying packages to configure software stacks | |
Ellermann et al. | Microsoft system center optimizing service manager | |
Oswald et al. | SAP Enterprise Support | |
CN115022314B (zh) | 一种企业级rpa云管理平台 | |
US20240210903A1 (en) | Software Development (DevOps) Pipelines for Robotic Process Automation | |
US11842179B2 (en) | System for automatically generating customer specific data center application program interfaces | |
Xiuli et al. | Research on Digital Agile Information System Based on Microservice Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |