System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及开发运维,尤其涉及一种项目自动打包部署方法、装置、电子设备及存储介质。
技术介绍
1、项目打包部署指的是在软件开发过程中,将完成的项目从开发环境转换到生产环境或测试环境的过程。其实现步骤主要包括打包、配置调整、迁移与上传、安装与运行、测试验证。项目打包部署的目的在于使得开发团队开发出的应用程序能够在实际生产服务器上稳定、安全、高效地运行,并提供给最终用户使用。
2、在传统的项目打包部署阶段,开发者每次都需要手动执行从代码仓库拉取最新的代码、进行编译打包、将打包的产物部署到环境、最后重启服务这一系列的耗时步骤。这些繁琐的步骤每次都需要人工重复操作,不仅耗时耗力,且容易出错,同时频繁的手动操作,容易使得整个打包部署流程的效率处于较低水准,特别是在处理大型项目时,这些问题显得更为突出。
技术实现思路
1、本专利技术提供了一种项目自动打包部署方法、装置、电子设备及存储介质,用于解决或部分解决现有项目打包部署方法中存在的耗时耗力、容易出错以及处理效率较低的技术问题。
2、本专利技术提供的一种项目自动打包部署方法,所述方法包括:
3、获取待部署项目,响应于脚本模板创建操作,分别创建所述待部署项目的打包部署过程中各个部署阶段的脚本模板;
4、分别定义各个所述部署阶段的核心功能函数;
5、将各个所述脚本模板以及各个所述核心功能函数保存至版本管理系统;
6、响应于流水线任务创建操作,连接所述版本管理系统,从所述版本
7、可选地,所述分别定义各个所述部署阶段的核心功能函数,包括:
8、基于groovy语言,分别将各个所述部署阶段的核心功能编写成相应的核心功能函数。
9、可选地,所述将各个所述脚本模板以及各个所述核心功能函数保存至版本管理系统,包括:
10、在版本管理系统中分别创建一个第一子目录以及第二子目录;
11、将各个所述脚本模板的代码集合成一个脚本代码文件,并将所述脚本代码文件保存至所述第一子目录;
12、将各个所述核心功能函数的代码以分类形式进行存储,获得若干个功能函数代码文件,并将所述若干个功能函数代码文件保存至所述第二子目录。
13、可选地,所述响应于流水线任务创建操作,连接所述版本管理系统,包括:
14、响应于针对所述待部署项目的流水线任务创建操作,创建一个流水线任务,接着获取所述版本管理系统的指定代码路径,并通过所述指定代码路径,连接至所述版本管理系统。
15、可选地,所述流水线任务对应多个打包部署项,每一所述打包部署项对应一个部署阶段,每一所述脚本模板对应配置一条核心功能路径,所述从所述版本管理系统调用各个所述脚本模板以及各个所述核心功能函数,对所述流水线任务进行打包部署,包括:
16、针对每一所述打包部署项,确定所述打包部署项对应的目标脚本模板,以及所述目标脚本模板对应的目标核心功能路径;
17、根据所述目标核心功能路径,从所述版本管理系统调用所述目标脚本模板对应的目标核心功能函数;
18、根据所述目标核心功能函数,执行所述目标脚本模板,以对所述流水线任务进行打包部署。
19、可选地,所述方法还包括:
20、获取需要进行打包部署的新部署项目,以及针对所述新部署项目所输入的项目参数;
21、采用所述项目参数对各个所述脚本模板以及各个所述核心功能函数进行参数更新;
22、从所述版本管理系统调用参数更新后的各个脚本模板以及各个核心功能函数,对所述新部署项目进行打包部署,获得对应的第二打包部署结果。
23、可选地,各个所述部署阶段包括代码检出、项目构建、代码审查、项目部署、项目测试以及邮件发送。
24、本专利技术还提供了一种项目自动打包部署装置,包括:
25、脚本模板创建模块,用于获取待部署项目,响应于脚本模板创建操作,分别创建所述待部署项目的打包部署过程中各个部署阶段的脚本模板;
26、核心功能函数定义模块,用于分别定义各个所述部署阶段的核心功能函数;
27、代码文件保存模块,用于将各个所述脚本模板以及各个所述核心功能函数保存至版本管理系统;
28、打包部署模块,用于响应于流水线任务创建操作,连接所述版本管理系统,从所述版本管理系统调用各个所述脚本模板以及各个所述核心功能函数,对所述流水线任务进行打包部署,获得所述待部署项目对应的第一打包部署结果。
29、本专利技术还提供了一种电子设备,所述设备包括处理器以及存储器:
30、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
31、所述处理器用于根据所述程序代码中的指令执行如上任一项所述的项目自动打包部署方法。
32、本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的项目自动打包部署方法。
33、从以上技术方案可以看出,本专利技术具有以下优点:
34、提供了一种项目自动打包部署方法,首先获取待部署项目,响应于脚本模板创建操作,分别创建待部署项目的打包部署过程中各个部署阶段的脚本模板;接着分别定义各个部署阶段的核心功能函数,以便在脚本模板中进行调用,实现功能的统一化;然后将各个脚本模板以及各个核心功能函数保存至版本管理系统;响应于流水线任务创建操作,连接版本管理系统,从版本管理系统调用各个脚本模板以及各个核心功能函数,对流水线任务进行打包部署,获得待部署项目相应的打包部署结果,保存设置后,即可实现一键自动化打包部署。通过上述方法,实现了项目打包部署流程的自动化和模板化、流程的核心功能封装化,避免了重复开发,节省了人力时间成本,大大提高了处理效率。
本文档来自技高网...【技术保护点】
1.一种项目自动打包部署方法,其特征在于,包括:
2.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述分别定义各个所述部署阶段的核心功能函数,包括:
3.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述将各个所述脚本模板以及各个所述核心功能函数保存至版本管理系统,包括:
4.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述响应于流水线任务创建操作,连接所述版本管理系统,包括:
5.根据权利要求4所述的项目自动打包部署方法,其特征在于,所述流水线任务对应多个打包部署项,每一所述打包部署项对应一个部署阶段,每一所述脚本模板对应配置一条核心功能路径,所述从所述版本管理系统调用各个所述脚本模板以及各个所述核心功能函数,对所述流水线任务进行打包部署,包括:
6.根据权利要求1所述的项目自动打包部署方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的项目自动打包部署方法,其特征在于,各个所述部署阶段包括代码检出、项目构建、代码审查、项目部署、项目测试以及邮件发送。
8.
9.一种电子设备,其特征在于,所述设备包括处理器以及存储器:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-7任一项所述的项目自动打包部署方法。
...【技术特征摘要】
1.一种项目自动打包部署方法,其特征在于,包括:
2.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述分别定义各个所述部署阶段的核心功能函数,包括:
3.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述将各个所述脚本模板以及各个所述核心功能函数保存至版本管理系统,包括:
4.根据权利要求1所述的项目自动打包部署方法,其特征在于,所述响应于流水线任务创建操作,连接所述版本管理系统,包括:
5.根据权利要求4所述的项目自动打包部署方法,其特征在于,所述流水线任务对应多个打包部署项,每一所述打包部署项对应一个部署阶段,每一所述脚本模板对应配置一条核心功能路径,所述从所述...
【专利技术属性】
技术研发人员:徐佳兵,蓝菊芳,吴桐,
申请(专利权)人:南阳柯丽尔科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。