一种项目一键交付方法和系统与流程

allin2023-03-22  112



1.本发明涉及互联网技术领域,特别涉及一种项目一键交付方法和系统。


背景技术:

2.目前针对不同的计算机项目,需要分配不同的人员前往客户现场进行交付工作,甚至针对不同的客户,也需要分配额外的人员。然而企业内部存在着人员流动的问题,对于长期项目来说,每一次的项目交付可能都需要新人员从头了解准备,即使是参与前一次交付的人员也需要针对新的变化调整交付内容。随着项目变得越来越复杂,不仅是交付人员无法整体了解项目的部署运行方式,开发人员也无法针对不了解的项目服务做出解释,项目每次升级后的部署难度都在不断增加。这就要求交付部署的人员与项目各开发人员进行详细沟通,了解项目细节,在交付上的人力投入也会不断增加。然而目前还没有专门针对计算机项目的快捷交付方法和系统。


技术实现要素:

3.本发明其中一个发明目的在于提供一种项目一键交付方法和系统,所述方法和系统通过设计项目交付流程,通过计算机程序的方式将流程嵌入到实际的交付过程中,从而使得在项目开发过程中可以同时实现项目交付的准备工作。减少纯人工参与的复杂度,降低人力成本。
4.本发明另一个发明目的在于提供一种项目一键交付方法和系统,所述方法和系统通过配置项目部署信息可以实现项目在迭代过程中的配置快速复用,并且通过设置可以实现同一项目在不同客户之间配置的复用。
5.本发明另一个发明目的在于提供一种项目一键交付方法和系统,所述方法和系统通过标准的一键项目交付流程可以有效地降低新人的项目交付学习成本,提高整体的项目交付业务转移的便捷性。
6.为了实现至少一个上述发明目的,本发明进一步提供一种项目一键交付方法,所述方法包括:
7.创建项目部署任务,选择项目、部署人员和开发项目,生成用户配置;
8.设置最低实例数和最低配置要求,根据所述最低实例数或最低配置要求进行校验;
9.配置项目版本的实例优先级,并根据配置的优先级依次启动对应实例的线程;
10.将创建的项目和接收端服务器进行关联,并根据所述用户部署配置发布创建的项目部署任务。
11.根据本发明其中一个较佳实施例,当选定开发人员后,判断开发人员是否为内部人员,若是则进一步提供项目测试版本和正式版本选项;若判断开发人员为外部人员,则进一步提供项目的正式版本选项。
12.根据本发明另一个较佳实施例,所述校验方法包括:获取当前部署任务配置的最
低实例数和最低配置数据,获取目标客户服务器可利用的资源后,判断可利用的资源不满足所述当前部署任务配置的最低实例数和最低配置数据,则返回创建部署任务失败。
13.根据本发明另一个较佳实施例,若所述部署任务创建成功后,将最低配置的实例和客户端服务器关联。
14.根据本发明另一个较佳实施例,所述用户配置包括服务器名称、服务器的域名或ip、端口号、访问凭证、服务器配置,根据所述用户配置添加对应的服务器。
15.根据本发明另一个较佳实施例,所述方法包括配置项目信息和部署顺序,其中所述项目信息和部署顺序包括项目名称、项目版本信息、安装包、项目最低配置、发布顺序和运行环境。
16.根据本发明另一个较佳实施例,所述方法还包括监控每一项目状态实例数和健康实例数,并实时监测项目实例的运行状态,并将运行故障信息返回给项目监控方。
17.根据本发明另一个较佳实施例,若在部署中发现部署错误,则返回部署错误的步骤,根据所述返回的错误步骤进行重新部署,对于实例未变化且已经执行的步骤或已部署实例则跳过重新部署步骤,或在完成错误步骤的重新配置后进一步执行所述错误步骤的一键部署操作。
18.为了实现至少一个上述发明目的,本发明进一步提供一种项目一键交付系统,所述系统执行上述项目一键交付方法。
19.本发明进一步提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行所述项目一键交付方法。
附图说明
20.图1显示的是本发明一种项目一键交付方法的流程示意图。
21.图2显示的是本发明一种项目一键交付系统的模块示意图。
具体实施方式
22.以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
23.可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
24.请结合图1-图2,本发明公开了一种项目一键交付方法和系统,其中所述系统包括如下部分:客户管理模块、项目管理模块、项目发布模块、其中所述客户管理模块用于对需要进行项目交付的客户和服务器资源进行管理,并且对客户需要要求监控的项目以及完成交付的客户服务器进行项目状态监控。
25.所述客户管理模块还包括客户管理和客户服务器资源管理功能,其中所述客户管理包括提供用户创建接口页面,所述用户创建接口页面通过页面填空的方式在客户端显示,客户端在页面上输入包括但不仅限于客户代称、客户描述、选择客户类型(开发人员、外
部人员),通过用户创建接口生成新用户,并将生成的新用户和对应的服务器资源关联绑定。
26.所述客户服务器资源管理功能包括当用户在系统中输入需要配置信息后,生成客户服务器资源配置页面,用户通过该客户服务器配置页面选择需要配置的客户服务器类型、服务器台数、服务器名称、服务器的域名或ip、端口号、访问凭证、服务器内存和存储空间等服务器配置。
27.所述项目管理模块所具有的功能包括:项目管理、项目版本管理和发布管理,其中所述项目管理包括将正在研发或研发完成的项目名称、项目进度、项目描述等项目相关的信息通过项目管理页面输入,根据输入的项目相关的信息创建需要管理的项目。
28.所述项目版本管理包括保存项目开放过程中的历史版本,并通过项目版本管理页面填写包括但不仅限于项目版本类型、初始版本、正式版本、测试版本和版本描述等版本相关信息,通过所述项目版本管理页面可以调用不同项目版本进行编辑。以及在项目版本页面通过输入版本名称、实例数量和选择版本类型后创建新的项目版本。在完成项目版本的创建后,生成项目版本的详细配置页面,用于配置对应版本的详细配置,其中在所述项目版本的详细配置页面包括但不仅限于每个实例的处理器核数、网络配置等,进一步配置每个实例所需要的运行环境,比如可以选择在java、python等环境下运行。其中详细配置页面包括二级弹窗,通过二级弹窗可以选择配置的版本。通过上传安装包的方式配置实例,且所述系统将根据上传的安装包和实例所运行的环境进行安装包类型校验,其中校验的格式包括但不仅限于jar、zip格式。本发明提供两种用户自定义实例配置方法,其中一种是通过对系统默认的安装包运行命令进行修改,另外则是直接上传安装包脚本通过脚本运行。在完成项目实例的配置后,进一步配置项目实例部署的优先级,其中优先级包括0-n,0的优先级最高,且在优先级最高的条件下优先部署,当优先级相同时同时部署实例,从而可以解决项目之间各个功能的依赖关系。
29.所述发布管理包括通过选定项目进入到对应的发布页面,通过所述发布页面可以查看发布项目的项目状态实例数和健康实例数,并可以检测项目实例的运行状态,以及调用历史项目版本查看对应的历史实例数和历史健康实例数,从而便于研发人员对历史项目版本的检索。
30.所述系统还包括项目发布模块,所述项目发布模块在完成用户配置后可以实现一键部署的功能,其中所述项目发布模块包括项目部署功能、一键部署功能和项目更新功能,其中所述项目部署功能包括选择创建项目部署任务,生成项目部署的显示页面,该项目部署页面包含对应的部署接口,用户在所述项目部署页面上填写包括客户名称、项目名称、开发人员名称、项目期限等,当在部署页面完成项目部署信息输入后,本发明所述的系统进一步判断所述项目部署信息中的开发人员是否是内部人员,其中所述系统可以通过查找对比内部人员名单的方式判断所述研发人员是否是内部人员,若是内部人员,则所述系统自动生成项目版本选择页面,在所述项目版本选择页面上选择项目的测试版本和正式版本进行发布。若系统判断所述开发人员为外部人员,则自动生成只包含正式版本的项目页面,因此可以有效地解决外包和内部研发人员的研发权限问题。
31.当完成所述项目版本发布的确定后,进一步对客户服务器的资源进行校验,所述系统自动获取项目实例对应的客户服务器资源数据,本发明对每一实例设置对应的最低资
源配置,若获取的项目实例对应的服务器资源小于所述实例需要的最低资源配置,则自动返回项目创建失败。若客户服务器资源满足所述项目实例的最低服务资源要求,则返回项目创建成功且进入到部署任务的详细配置页面。并且系统可以自动选择实例安装包配置要求最低的和客户服务器相关联,在完成实例和客户服务器相关联后,通过选择开启对实例的监控,通过对实例的监控可以查询历史版本的实例状态。
32.值得一提的是,本发明的项目发布模块提供一键部署的功能,其中所述一键部署包括根据配置的访问凭证访问对应的服务器,若访问成功则检测服务器的运行环境是否符合安装包的运行要求,若符合则进一步安装项目运行环境,完成所述项目运行环境后上传项目安装包,完成所述安装包的上传后,根据实例部署的优先级依次或同时启动线程,进一步执行用户配置的安装包命令,当用户完成当前最高优先级的实例安装后进一步启动下一优先级实例的线程部署,判断实例部署过程中是否存在安装出错,若存在安装出错则检测项目实例配置是否存在变更,若项目实例配置不存在变更则在执行到的安装步骤重新安装,若存在配置变更,则重新执行一键部署操作。
33.所述项目发布模块提供版本更新功能,其中所述版本更新功能包括:判断配置的客户是否为开发人员,若是,则生成版本更新页面,在所述版本更新页面中包括服务器资源添加项,当生成更新的版本内容过程中,需要判断更新版本的实例所需要服务器资源是否满足要求,若不满足则可以在所述服务器资源添加项中再次添加服务器资源。
34.为了更好地说明本发明,本发明进一步基于系统提供新增客户和项目,并发布项目的方法流程:
35.1、点击项目生成页面,用户填写项目名称、项目描述信息创建一个新项目。
36.2、点击进入该项目详情页面可以查看项目名称、版本数量、最新版本需要实例数、需求机器配置等信息,切换到项目版本页面,填写版本名称、实例数量,选择版本类型(正式、测试)创建一个新的项目版本。
37.3、进入该版本,如上述步骤中填写实例数量不够,则在该版本的配置页面下点击添加实例新增实例,之后修改这些实例的配置需求并选择运行环境,根据实例配置上传相应的安装包。
38.4、若用户需要自定义安装包执行过程,可以点击该实例后的自定义配置进入详细配置页面,用户可以对系统默认的安装包运行命令进行修改,也可以直接上传安装脚本并选择脚本安装。
39.5、根据项目功能的依赖填写实例的安装执行优先级。
40.6、用户在客户管理页面下填写客户代称、客户描述、选择客户类型(开发人员、外部人员)创建新客户。
41.7、选择该新增客户进入客户详情页,切换到客户服务器管理页面并点击添加服务器填写服务器名称、服务器的域名或ip、端口号、访问凭证、服务器配置(cpu和内存等必要配置)等信息添加足够项目使用的服务器资源。
42.8、切换到部署管理页面,填写部署任务名称,选择客户、部署项目、部署版本,关联客户服务器和项目实例,选择是否开启项目监控创建新部署任务。
43.9、点击刚创建的部署任务上面的一键发布按钮,系统将该项目下对应版本中的安装包上传到步骤八中关联的客户服务器上,如果客户配置了通过脚本安装,将客户上传的
脚本也上传到对应的客户服务器上,之后根据用户填写的运行环境检测这些服务器上是否已经存在该版本的运行环境,若不存在根据系统内置命令安装运行环境。
44.10、系统根据用户在项目信息中填写的实例部署优先级依次在对应的服务上同步执行或先后执行用户配置好的运行命令或安装脚本。
45.11、部署中若产生错误,首次错误系统会自动从出错的任务步骤重新执行,若多次出错修改项目发布状态为发布失败,可以在该项目详情中切换到发布项目的页面,通过客户筛选发布的项目,进入该部署错误的项目,查看哪台实例在哪一步,其中错误实例的部署步骤包括:等待部署、连接服务器、上传安装包、检测安装运行环境、执行安装命令、部署完成等部署错误。
46.12、用户可以手动登录该服务器,检测执行安装命令出现的问题重新配置,再点击一键部署重新部署项目,如果该部署任务中的实例没有发生变化已执行的步骤或已部署的实例会跳过执行,若要全部重新部署,可以在发布项目页面中删除该条历史记录。
47.为了更好地说明本发明的技术效果,本发明进一步提供开发人员对已经添加的项目进行迭代和版本更新的流程方法:
48.1、开发人员想要更新项目,进入项目管理页面选择想要迭代的项目点击进入。
49.2、切换到项目版本管理页面,新增版本,选择前一个版本作为模板创建新版本。
50.3、上传新版本安装包,根据需要修改安装包执行命令,执行顺序,或添加新实例。
51.4、切换到部署管理页面,选择之前创建的该项目的开发人员部署任务,点击该条部署任务后的版本更新按钮。
52.5、若是新版本新增了实例或提升了配置且该开发人员服务器资源不够,前端会弹出新增服务器资源的对话框,填写服务器信息,添加充足的服务器资源。
53.6、系统首先上传安装包到各服务器上,之后判断各服务器运行环境是否有变化,若运行环境变更,再判断是否已安装该运行环境,若未安装运行环境执行默认命令安装。
54.7、进一步执行项目的一键部署任务。
55.为了更好地说明本发明技术效果,本发明进一步提供项目监控运行状态流程方法:
56.1、运维用户确定想要查看的项目及客户,切换到项目管理页面点击进入该项目。
57.2、切换到发布项目页面,在左上角选择框内选择该客户,系统筛选该项目向该客户的发布记录。
58.3、点击进入想要查看的发布记录,若发布时选择打开项目监控,页面会显示该项目的各实例运行状态。
59.4、点击某台实例的运行按钮可以查看该实例的运行日志,系统限制了运行日志文本保留的大小且只保留最新的运行日志,运维人员可以通过这种方式查看运行出错实例最后的日志查找报错信息。
60.5、若以上监控流程步骤都没有排查到错误,用户可以手动连接到该客户的这台服务器上,手动查看日志进行错误的修复。
61.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样
的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、rf等等,或者上述的任意合适的组合。
62.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
63.本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。

技术特征:
1.一种项目一键交付方法,其特征在于,所述方法包括:创建项目部署任务,选择项目、部署人员和开发项目,生成用户配置;设置最低实例数和最低配置要求,根据所述最低实例数或最低配置要求进行校验;配置项目版本的实例优先级,并根据配置的优先级依次启动对应实例的线程;将创建的项目和接收端服务器进行关联,并根据所述用户部署配置发布创建的项目部署任务。2.根据权利要求1所述的一种项目一键交付方法,其特征在于,当选定开发人员后,判断开发人员是否为内部人员,若是则进一步提供项目测试版本和正式版本选项;若判断开发人员为外部人员,则进一步提供项目的正式版本选项。3.根据权利要求1所述的一种项目一键交付方法,其特征在于,所述校验方法包括:获取当前部署任务配置的最低实例数和最低配置数据,获取目标客户服务器可利用的资源后,判断可利用的资源不满足所述当前部署任务配置的最低实例数和最低配置数据,则返回创建部署任务失败。4.根据权利要求1所述的一种项目一键交付方法,其特征在于,若所述部署任务创建成功后,将最低配置的实例和客户端服务器关联。5.根据权利要求1所述的一种项目一键交付方法,其特征在于,所述用户配置包括服务器名称、服务器的域名或ip、端口号、访问凭证、服务器配置,根据所述用户配置添加对应的服务器。6.根据权利要求1所述的一种项目一键交付方法,其特征在于,所述方法包括配置项目信息和部署顺序,其中所述项目信息和部署顺序包括项目名称、项目版本信息、安装包、项目最低配置、发布顺序和运行环境。7.根据权利要求1所述的一种项目一键交付方法,其特征在于,所述方法还包括监控每一项目状态实例数和健康实例数,并实时监测项目实例的运行状态,并将运行故障信息返回给项目监控方。8.根据权利要求1所述的一种项目一键交付方法,其特征在于,若在部署中发现部署错误,则返回部署错误的步骤,根据所述返回的错误步骤进行重新部署,对于实例未变化且已经执行的步骤或已部署实例则跳过重新部署步骤,或在完成错误步骤的重新配置后进一步执行所述错误步骤的一键部署操作。9.一种项目一键交付系统,其特征在于,所述系统执行权利要求1-8中任意一项所述的项目一键交付方法。10.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行所述权利要求1-8中任意一项所述的项目一键交付方法。

技术总结
本发明公开一种项目一键交付方法和系统,所述方法包括:创建项目部署任务,选择项目、部署人员和开发项目,生成用户配置;设置最低实例数和最低配置要求,根据所述最低实例数或最低配置要求进行校验;配置项目版本的实例优先级,并根据配置的优先级依次启动对应实例的线程;将创建的项目和接收端服务器进行关联,并根据所述用户部署配置发布创建的项目部署任务。所述方法和系统通过设计项目交付流程,通过计算机程序的方式将流程嵌入到实际的交付过程中,从而使得在项目开发过程中可以同时实现项目交付的准备工作。减少纯人工参与的复杂度,降低人力成本。降低人力成本。降低人力成本。


技术研发人员:陈荣坚 王加义 冯诚波 朱兴宇 马嵩 杨国庆
受保护的技术使用者:浙江高信技术股份有限公司
技术研发日:2022.02.11
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-7246.html

最新回复(0)