CN116820427A - 一种软件研发项目管理方法、设备及介质 - Google Patents

一种软件研发项目管理方法、设备及介质 Download PDF

Info

Publication number
CN116820427A
CN116820427A CN202310786584.9A CN202310786584A CN116820427A CN 116820427 A CN116820427 A CN 116820427A CN 202310786584 A CN202310786584 A CN 202310786584A CN 116820427 A CN116820427 A CN 116820427A
Authority
CN
China
Prior art keywords
development
task item
code
task
continuous
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
Application number
CN202310786584.9A
Other languages
English (en)
Inventor
姜鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202310786584.9A priority Critical patent/CN116820427A/zh
Publication of CN116820427A publication Critical patent/CN116820427A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种软件研发项目管理方法、设备及介质,方法包括:创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新;接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。能够提高软件研发项目管理效率。

Description

一种软件研发项目管理方法、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种软件研发项目管理方法、设备及介质。
背景技术
DevOps平台的持续集成和持续部署功能模块与软件研发项目管理功能模块是相互独立的模块,在项目交付过程中解决了不同维度的问题。持续集成和持续部署功能模块,它侧重于软件集成测试、部署和运维。而软件研发项目管理功能模块,侧重于项目管理和产品开发。
目前,开发人员需要在持续集成和持续部署功能模块进行开发工作。其中,在开发工作的过程中,需要在软件研发项目管理功能模块更新任务项的进度。完成开发工作后,仍然需要通过Devops平台进行管理,前后在不同模块上工作,增加了开发人员的工作量,且开发人员手动更新任务项,导致任务项更新不及时、不准确,不能及时准确的跟踪任务进度,从而导致软件研发项目管理效率低。
发明内容
本申请实施例提供一种软件研发项目管理方法、设备及介质,用于解决软件研发项目管理效率低的问题。
本申请实施例采用下述技术方案:
一方面,本申请实施例提供了一种软件研发项目管理方法,该方法包括:创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新;接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
一个示例中,所述执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新,具体包括:触发持续集成流水线,通过执行所述持续集成流水线,将所述开发代码部署至集成测试环境;在触发所述持续集成流水线时,对所述任务项进行联动,获取所述任务项的状态,判断所述状态是否为处理中;若否,则将所述状态更新为处理中,并对所述任务项的其他内容进行更新。
一个示例中,所述通过执行所述持续集成流水线,将所述开发代码部署至集成测试环境,具体包括:对所述开发代码进行编译,得到编译文件;根据所述编译文件为所述开发代码制作容器镜像,将所述容器镜像上传至镜像仓库;向所述镜像仓库拉取所述容器镜像,以将所述容器镜像部署至集成测试环境。
一个示例中,所述任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、记录,所述并对所述任务项的其他内容进行更新,具体包括:将所述更新人的数据更新为所述开发人员;将所述更新时间的数据更新为所述开发代码的集成开始时间;将所述评论的数据更新为代码提交的相关信息;将所述剩余评估时间的数据更新为任务项开发计划完成时间与所述集成开始时间之间的时间差;将所述记录的数据更新为所述任务项在本次的修改内容。
一个示例中,所述执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新,具体包括:触发持续部署流水线,通过执行持续部署流水线,将所述开发代码部署至生产环境;在部署完成后,对所述任务项进行联动,获取所述任务项的状态,判断所述状态是否为已完成;若否,则将所述状态更新为已完成,并对所述任务项的其他内容进行更新。
一个示例中,所述通过执行持续部署流水线,将所述开发代码部署至生产环境,具体包括:对所述开发代码进行编译,得到编译文件;根据所述编译文件为所述开发代码制作容器镜像,将所述容器镜像上传至镜像仓库;向所述镜像仓库拉取所述容器镜像,以将所述容器镜像部署至生产环境;所述以将所述容器镜像部署至生产环境之后,所述方法还包括:通过自动化监控工具对部署的开发代码进行监控,得到监控结果;若所述监控结果为异常时,则通过自动化回滚工具对所述部署的开发代码进行回滚。
一个示例中,所述任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、实际用时、记录,并对所述任务项的其他内容进行更新,具体包括:将更新人的数据更新为对所述开发代码进行部署的开发人员;将更新时间的数据更新为所述开发代码的部署完成时间;将评论的数据更新为已完成部署;将所述剩余评估时间的数据更新为无;将实际用时的数据更新为任务项的创建时间与部署完成时间之间的时间差;将所述记录的数据更新为所述任务项在本次的修改内容。
一个示例中,所述方法还包括:通过自动化测试框架对所述开发代码进行单元测试,得到测试结果;或通过静态代码分析工具对所述开发代码进行静态分析,得到分析结果;或将所述编译文件上传至制品仓库,以便对所述编译文件进行引用。
另一方面,本申请实施例提供了一种软件研发项目管理设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新;接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
另一方面,本申请实施例提供了一种软件研发项目管理非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新;接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在DevOps平台可以实现持续集成和持续部署,保证软件的质量和稳定性,从而能够自动触发开发代码的持续集成流程,通过将持续集成流程与任务项进行联动,能够自动对任务项的内容进行更新,以及能够自动触发开发代码的持续部署流程,通过将持续部署流程与任务项进行联动,能够再次自动对任务项的内容进行更新,从而有效避免由于手动更新任务项而产生的工作量,进而减少开发人员的工作量降低开发成本,从而能够高效准确地更新任务项的内容,最终提高了软件研发项目管理的效率与准确率。
附图说明
为了更清楚地说明本申请的技术方案,下面将结合附图来对本申请的部分实施例进行详细说明,附图中:
图1为本申请实施例提供的一种软件研发项目管理方法的流程示意图;
图2为本申请实施例提供的一种持续集成和持续部署分别与软件研发项目管理之间联动的示意图;
图3为本申请实施例提供的一种软件研发项目管理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面参照附图来对本申请的一些实施例进行详细说明。
图1为本申请实施例提供的一种软件研发项目管理方法的流程示意图。该方法可以应用于不同的业务领域,比如,互联网金融业务领域、电商业务领域、即时通讯业务领域、游戏业务领域、公务业务领域等。该流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
本申请实施例涉及的分析方法的实现可以为终端设备,也可以为服务器,本申请对此不作特殊限制。为了方便理解和描述,以下实施例均以服务器为例进行详细描述。
需要说明的是,该服务器可以是单独的一台设备,可以是有多台设备组成的系统,即,分布式服务器,本申请对此不做具体限定。
图1中的流程可以包括以下步骤:
S101:创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发。
项目经理收集到研发项目需求后,在软件研发项目管理的功能模块拆解需求,创建任务项。
在本申请的一些实施例中,通过软件研发项目管理配置表对任务项进行创建,软件研发项目管理配置表的配置项如表1所示。
表1:
配置项 配置项描述
最小工作项 任务项
任务项状态 待处理、处理中、已完成
状态流转 待处理→处理中→已完成
在表1中,配置项包括最小工作项、任务项状态、状态流转。其中,最小工作项则是指任务项,任务项状态则是指待处理、处理中、已完成,状态流转则是指待处理→处理中→已完成,即从待处理流转至处理中,从处理中流转至已完成。
S102:接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库。
需要说明的是,当代码仓库有代码提交时,则会被触发执行开发代码的持续集成流程,即,执行S103。
S103:执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新。
在本申请的一些实例中,持续集成流程关注的是代码的集成、构建和测试,持续集成流程的目的是尽早发现和解决问题,确保代码质量,让代码更容易集成到主干分支中。也就是说,持续集成的重点在于代码的自动化构建、自动化测试和自动化质量检查,目的是确保代码的质量和可靠性。例如,在持续集成流程中,开发人员会频繁地提交代码到代码仓库,自动化构建和测试工具会自动构建和测试代码,并及时向开发人员反馈测试结果和代码质量。
基于此,持续集成流程是基于流水线实现,流水线的触发方式为自动触发,当代码仓库有代码提交时,流水线会被自动触发完成持续集成的过程。其中,每一次提交开发代码都会触发流水线自动执行,流水线执行完成后,会将代码部署到集成测试环境,用于测试。
具体地,触发持续集成流水线,通过执行持续集成流水线,将开发代码部署至集成测试环境。
其中,在触发持续集成流水线时,则说明任务项正在被开发人员处理中,因此,在触发持续集成流水线时,对任务项进行联动,获取任务项的状态,判断状态是否为处理中。
若是,则不再对状态进行更新,而是对任务项的其他内容进行更新。需要说明的是,如果此时任务项的状态为处理中,则可以是开发人员在将开发代码提交至开发仓库时,已经手动将状态从待处理修改为处理中。
若否,则将状态更新为处理中,并对任务项的其他内容进行更新。
此外,持续集成流水线的阶段如表2所示。
表2:
阶段 阶段描述
代码编译 编译前后端代码
自动化测试 使用自动化测试框架对代码进行单元测试
静态代码分析 使用SonarQube静态代码分析工具对代码进行静态分析
制品上传 将编译文件上传到制品仓库
制作镜像 制作docker镜像,并上传镜像仓库
镜像部署 在用于测试的K8S环境部署已经制作好的docker镜像
需要说明的是,持续集成流水线的各个阶段可以根据实际开发工作的需要进行删减和排序,其中代码编译、制作镜像、镜像部署这三个阶段的顺序是不可以更改的,整体顺序为:代码编译→制作镜像→镜像部署。
基于此,必须执行的阶段过程如下:
首先,对开发代码进行编译,得到编译文件。然后,根据编译文件为开发代码制作容器镜像,将容器镜像上传至镜像仓库。最后,向镜像仓库拉取容器镜像,以将容器镜像部署至集成测试环境。
此外,在代码编译后,可以选择执行的阶段为:通过自动化测试框架对开发代码进行单元测试,得到测试结果;或通过静态代码分析工具对开发代码进行静态分析,得到分析结果;或将编译文件上传至制品仓库,以便对编译文件进行引用。
需要说明的是,上述可以执行选择的每个阶段,可以在代码编译后,也可以在制作镜像后,也可以在镜像部署后。
更进一步地,在持续集成流程时,任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、记录。如表3所示。
表3:
基于此,将更新人的数据更新为所述开发人员,将更新时间的数据更新为开发代码的集成开始时间,将评论的数据更新为代码提交的相关信息,将剩余评估时间的数据更新为任务项开发计划完成时间与集成开始时间之间的时间差,将记录的数据更新为任务项在本次的修改内容。
S104:接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
在本申请的一些实施例中,持续部署流程关注的是代码的部署、交付和运维,持续部署流程的目的是快速、可靠地将代码部署到生产环境中,确保交付的可靠性和一致性。持续部署的重点在于自动化部署、自动化监控和自动化回滚,目的是确保代码能够快速、可靠地部署到生产环境中。例如,在持续部署流程中,自动化部署工具会自动将构建好的代码部署到测试、预发布和生产环境中,自动化监控工具会监控部署的代码,自动化回滚工具会在出现问题时自动回滚部署的代码。其中,持续部署流程是基于持续集成流程进行,可手动触发和自动触发流水线部署过程。
基于此,首先触发持续部署流水线,通过执行持续部署流水线,将开发代码部署至生产环境。
在部署完成后,对任务项进行联动,获取任务项的状态,判断状态是否为已完成。其中,部署到生产环境后,表明任务项已经完成。
若是,对任务项的其他内容进行更新。需要说明的是,此时若任务的状态为已完成时,则可以是部署的开发人员在部署完成后,手动将状态从处理中修改为已完成。
若否,则将状态更新为已完成,并对任务项的其他内容进行更新。
此外,持续部署流水线的阶段如表4所示。
表4:
需要说明的是,持续部署流水线的各个阶段可以根据实际开发工作的需要进行删减和排序,其中代码编译、制作镜像、镜像部署这三个阶段的顺序是不可以更改的,整体顺序为:代码编译→制作镜像→镜像部署。
基于此,必须执行的阶段过程如下:
对开发代码进行编译,得到编译文件。然后,根据编译文件为开发代码制作容器镜像,将容器镜像上传至镜像仓库。然后,向镜像仓库拉取所述容器镜像,以将容器镜像部署至生产环境。然后,通过自动化监控工具对部署的开发代码进行监控,得到监控结果。
若监控结果为异常时,则通过自动化回滚工具对所述部署的开发代码进行回滚。
此外,在代码编译后,可以选择执行的阶段为:通过自动化测试框架对开发代码进行单元测试,得到测试结果;或通过静态代码分析工具对开发代码进行静态分析,得到分析结果;或将编译文件上传至制品仓库,以便对编译文件进行引用。
需要说明的是,上述可以执行选择的每个阶段,可以在代码编译后,也可以在制作镜像后,也可以在镜像部署后。
更进一步地,在持续集成流程时,任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、实际用时、记录。如表5所示。
表5:
基于此,将更新人的数据更新为对开发代码进行部署的开发人员。将更新时间的数据更新为开发代码的部署完成时间;将评论的数据更新为已完成部署;将剩余评估时间的数据更新为无;将实际用时的数据更新为任务项的创建时间与部署完成时间之间的时间差;将记录的数据更新为所述任务项在本次的修改内容。
需要说明的是,虽然本申请实施例是参照图1来对步骤S101至步骤S104依次进行介绍说明的,但这并不代表步骤S101至步骤S104必须按照严格的先后顺序执行。本申请实施例之所以按照图1中所示的顺序对步骤S101至步骤S104依次进行介绍说明,是为了方便本领域技术人员理解本申请实施例的技术方案。换句话说,在本申请实施例中,步骤S101至步骤S104之间的先后顺序可以根据实际需要进行适当调整。
通过图1的方法,在DevOps平台可以实现持续集成和持续部署,保证软件的质量和稳定性,从而能够自动触发开发代码的持续集成流程,通过将持续集成流程与任务项进行联动,能够自动对任务项的内容进行更新,以及能够自动触发开发代码的持续部署流程,通过将持续部署流程与任务项进行联动,能够再次自动对任务项的内容进行更新,从而有效避免由于手动更新任务项而产生的工作量,进而减少开发人员的工作量降低开发成本,从而能够高效准确地更新任务项的内容,最终提高了软件研发项目管理的效率与准确率。
更直观地,图2为本申请实施例提供的一种持续集成和持续部署分别与软件研发项目管理之间联动的示意图。
如图2所示,在系统中,开发人员根据任务项在DevOps平台进行软件开发,然后,将代码提交,然后,服务端依次执行持续集成的功能模块,以及持续部署的功能模块。其中,持续集成功能模块与软件研发项目管理功能模块进行联动,持续部署功能模块与软件研发项目管理功能模块进行联动。从而在软件研发项目管理功能模块自动更新任务项的进度。
基于DevOps平台进行软件开发工作,相较于传统软件开发工作具有自动化、可视化、协作等特性,在DevOps平台可以实现持续集成和持续部署,保证软件的质量和稳定性。软件研发项目管理功能模块,可以跟踪项目进度提升项目进度透明度、快速响应项目变化并及时调整项目计划。将DevOps平台的持续集成和持续部署功能模块与软件研发项目管理功能模块进行联动,进而减少开发人员工作量和避免任务项更新不及时、不准确。
基于同样的思路,本申请的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
图3为本申请实施例提供的一种软件研发项目管理设备的一种结构示意图,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;
接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;
执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新;
接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
本申请的一些实施例提供的一种软件研发项目管理非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;
接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;
执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新;
接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请技术原理之内所作的任何修改、等同替换、改进等,均应落入本申请的保护范围之内。

Claims (10)

1.一种软件研发项目管理方法,其特征在于,所述方法包括:
创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;
接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;
执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行首次更新;
接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
2.根据权利要求1所述的方法,其特征在于,所述执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新,具体包括:
触发持续集成流水线,通过执行所述持续集成流水线,将所述开发代码部署至集成测试环境;
在触发所述持续集成流水线时,对所述任务项进行联动,获取所述任务项的状态,判断所述状态是否为处理中;
若否,则将所述状态更新为处理中,并对所述任务项的其他内容进行更新。
3.根据权利要求2所述的方法,其特征在于,所述通过执行所述持续集成流水线,将所述开发代码部署至集成测试环境,具体包括:
对所述开发代码进行编译,得到编译文件;
根据所述编译文件为所述开发代码制作容器镜像,将所述容器镜像上传至镜像仓库;
向所述镜像仓库拉取所述容器镜像,以将所述容器镜像部署至集成测试环境。
4.根据权利要求2所述的方法,其特征在于,所述任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、记录,所述并对所述任务项的其他内容进行更新,具体包括:
将所述更新人的数据更新为所述开发人员;
将所述更新时间的数据更新为所述开发代码的集成开始时间;
将所述评论的数据更新为代码提交的相关信息;
将所述剩余评估时间的数据更新为任务项开发计划完成时间与所述集成开始时间之间的时间差;
将所述记录的数据更新为所述任务项在本次的修改内容。
5.根据权利要求1所述的方法,其特征在于,所述执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新,具体包括:
触发持续部署流水线,通过执行持续部署流水线,将所述开发代码部署至生产环境;
在部署完成后,对所述任务项进行联动,获取所述任务项的状态,判断所述状态是否为已完成;
若否,则将所述状态更新为已完成,并对所述任务项的其他内容进行更新。
6.根据权利要求5所述的方法,其特征在于,所述通过执行持续部署流水线,将所述开发代码部署至生产环境,具体包括:
对所述开发代码进行编译,得到编译文件;
根据所述编译文件为所述开发代码制作容器镜像,将所述容器镜像上传至镜像仓库;
向所述镜像仓库拉取所述容器镜像,以将所述容器镜像部署至生产环境;
所述以将所述容器镜像部署至生产环境之后,所述方法还包括:
通过自动化监控工具对部署的开发代码进行监控,得到监控结果;
若所述监控结果为异常时,则通过自动化回滚工具对所述部署的开发代码进行回滚。
7.根据权利要求5所述的方法,其特征在于,所述任务项的可配置字段内容包括状态、更新人、更新时间、评论、剩余评估时间、实际用时、记录,并对所述任务项的其他内容进行更新,具体包括:
将更新人的数据更新为对所述开发代码进行部署的开发人员;
将更新时间的数据更新为所述开发代码的部署完成时间;
将评论的数据更新为已完成部署;
将所述剩余评估时间的数据更新为无;
将实际用时的数据更新为任务项的创建时间与部署完成时间之间的时间差;
将所述记录的数据更新为所述任务项在本次的修改内容。
8.根据权利要求3或6所述的方法,其特征在于,所述方法还包括:
通过自动化测试框架对所述开发代码进行单元测试,得到测试结果;或
通过静态代码分析工具对所述开发代码进行静态分析,得到分析结果;或
将所述编译文件上传至制品仓库,以便对所述编译文件进行引用。
9.一种软件研发项目管理设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;
接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;
执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新;
接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
10.一种软件研发项目管理非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
创建研发项目需求对应的任务项,以便开发人员根据所述任务项在DevOps平台进行软件开发;
接收所述开发人员提交的开发代码,将所述开发代码提交至代码仓库;
执行所述开发代码的持续集成流程,将所述持续集成流程与所述任务项进行联动,以对所述任务项进行第一次更新;
接收所述开发代码的持续集成测试完成指令,执行所述开发代码的持续部署流程,将所述持续部署流程与所述任务项进行联动,以对更新的任务项进行再次更新。
CN202310786584.9A 2023-06-29 2023-06-29 一种软件研发项目管理方法、设备及介质 Pending CN116820427A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310786584.9A CN116820427A (zh) 2023-06-29 2023-06-29 一种软件研发项目管理方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310786584.9A CN116820427A (zh) 2023-06-29 2023-06-29 一种软件研发项目管理方法、设备及介质

Publications (1)

Publication Number Publication Date
CN116820427A true CN116820427A (zh) 2023-09-29

Family

ID=88127233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310786584.9A Pending CN116820427A (zh) 2023-06-29 2023-06-29 一种软件研发项目管理方法、设备及介质

Country Status (1)

Country Link
CN (1) CN116820427A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193794A (zh) * 2023-07-25 2023-12-08 山东浪潮爱购云链信息科技有限公司 一种软件研发项目的管理方法、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193794A (zh) * 2023-07-25 2023-12-08 山东浪潮爱购云链信息科技有限公司 一种软件研发项目的管理方法、设备及介质

Similar Documents

Publication Publication Date Title
Symeonidis et al. Mlops-definitions, tools and challenges
CN108776643B (zh) 一种基于版本控制流程的目标代码合并控制方法及系统
US11036483B2 (en) Method for predicting the successfulness of the execution of a DevOps release pipeline
US20170372247A1 (en) Methods, systems, and articles of manufacture for implementing software application development and releases
US10055302B2 (en) Performing a closure merge operation
CN107315689A (zh) 基于Git代码文件检索粒度的自动化回归测试方法
US11256608B2 (en) Generating test plans for testing computer products based on product usage data
CN116820427A (zh) 一种软件研发项目管理方法、设备及介质
US9542173B2 (en) Dependency handling for software extensions
CN112711411A (zh) 一种基于Kubernetes及docker的CI/CD流水线系统
CN112579568A (zh) 数据库版本处理方法及系统
US11842188B2 (en) Continuous integration and deployment pipeline selection based on dynamic mapping
CN112445600A (zh) 一种离线数据处理任务发布方法及系统
CN112148614B (zh) 回归测试方法及装置
CN114139923A (zh) 任务关联性分析方法、装置及计算机可读存储介质
US20230409305A1 (en) Continuous integration and deployment system time-based management
US20100161682A1 (en) Metadata model repository
CN113448549B (zh) 一种前端开发的全流程自动化处理系统及方法
CN115964035A (zh) 数据挖掘模型管理方法、装置、电子设备及存储介质
CN114089965A (zh) 基于单体式代码仓库Monorepo的程序开发项目管理方法、装置
Stieler et al. Git workflow for active learning-a development methodology proposal for data-centric AI projects
WO2022093178A1 (en) Ci/cd pipeline code recommendations
CN113741950A (zh) 代码同步方法、服务器及存储介质
Pinnecke Product-lining the elinvar wealthtech microservice platform
US20230048971A1 (en) System and method for utilizing checklists for lifecycle management in a case management system

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