本发明属于计算机软件,具体涉及一种集成、交付和部署的方法。
背景技术:
1、jenkins是著名的可扩展的开源ci/cd工具,用于自动化部署,可以自动执行与软件的构建、测试、部署、集成和发布有关的任务。jenkins可在macos、windows和各种unix版本(例如opensuse,ubuntu,red hat等)上使用,但是jenkins在自动化部署过程中包含许多复杂的插件集成和配置,并且缺乏对流水线的整体跟踪的分析。
2、公开号为cn115373699a的发明专利公开了一种自动化部署方法和系统,其方法包括:s1:记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合;s2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;s3:对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务;用以对记录执行待部署任务的过程的日志进行筛选和共性分析,确定出初始部署流程中的可优化步骤,实现了对部署失败的原因的定位分析,实现了在部署过程中不断优化学习,提高了自动化部署的效率,减少了由于部署失败而产生的大量冗余文件。另外,公开号为cn112667253a的发明专利申请公开了一种自动化部署方法,首先安装gitlab、jenkins、docker基础环境,建立自己的docker registry,私有的docker镜像服务,用于存储自己的docker镜像仓库;然后使用gitlab进行代码管理,并联动jenkins进行自动化打包,生成docker image,推送到自己的repository;最后使用docker compose在目的机上进行集成环境部署。然而,现有技术中,在自动化部署过程中包含许多复杂的插件集成和配置,并且缺乏对流水线的整体跟踪的分析问题。
技术实现思路
1、本发明的目的是提供一种集成、交付和部署的方法,以devops为理念,借助gitops的最佳实践,将应用系统的声明性基础架构和应用程序存放在git版本库中,使用git来加速和简化kubernetes的应用程序部署和运维任务,从而解决jenkins在自动化部署过程中包含许多复杂的插件集成和配置,并且缺乏对流水线的整体跟踪的分析问题,并且可实现一个完整的端到端的交付流水线,提高业务的敏捷度。
2、为了实现上述目的,本发明采用以下技术方案:
3、一种集成、交付和部署的方法,将应用系统的声明型基础架构和应用程序存放在git版本库中,基于所述git版本库执行以下步骤:
4、创建应用服务;
5、选择仓库地址并提交代码;
6、配置cicd文件,通过交互界面创建集群和环境;
7、手动部署任务,查看当前版本信息、操作流水信息、pod状态信息和容器日志;
8、通过交互界面部署流水线,完成服务器部署。
9、进一步的,所述创建应用服务包括设置应用服务编码和应用服务名称。
10、进一步的,所述配置cicd文件的方法为:通过编写java程序代码的方式编写cicd文件。
11、进一步的,配置cicd文件之后,包括以下步骤:发布服务;所述发布服务包括在交互界面上完成ci/cd的建立和释放服务。
12、进一步的,所述创建环境的方法为:在交互界面上依次选择环境配置和创建环境。
13、进一步的,创建环境完成之后,包括以下步骤:在所述交互界面上通过点击测试环境查看环境的运行状态。
14、进一步的,所述手动部署包括以下步骤:选择不同的服务来源;将项目应用服务设置为本项目下的应用服务;将共享应用设置为其他项目中设置的共享应用;选择环境和版本信息。
15、进一步的,所述部署流水线包括以下步骤:先后执行配置触发方式和添加任务;当服务已经成功部署的情况下,在交互界面上选择替换实例。
16、进一步的,部署流水线之前包括以下步骤:为对应的服务创建部署配置。
17、进一步的,部署流水线之后包括以下步骤:在流水线中查看到创建的流水线,并且进行启用/停用。
18、有益效果:
19、1、集成多种开源组件,可以同步管理多个项目的开发与交付,缩短开发周期,加快迭代的速度,同时大大减少了开发运维人员的负担,实现了开发运维一体化。
20、2、集成gitlab作为代码托管的仓库,方便代码的管理和维护,采用了github-flow作为分支管理策略的主体,帮助团队建立规范,同时智能检测代码质量,实时了解应用服务中代码的健康程度。
21、3、集成ci/cd流水线,实现了ci/cd流程执行的自动化与ci/cd任务编排的可视化,并支持预置多个任务或人工卡点任务,提高交付效率
22、4、增加组织团队人员角色权限管理,利于多项目、多环境统一开发部署。降低复杂开发环境的运维难度。
1.一种集成、交付和部署的方法,其特征在于,将应用系统的声明型基础架构和应用程序存放在git版本库中,基于所述git版本库执行以下步骤:
2.根据权利要求1所述的一种集成、交付和部署的方法,其特征在于,所述创建应用服务包括设置应用服务编码和应用服务名称。
3.根据权利要求1所述的一种集成、交付和部署的方法,其特征在于,所述配置cicd文件的方法为:通过编写java程序代码的方式编写cicd文件。
4.根据权利要求3所述的一种集成、交付和部署的方法,其特征在于,配置cicd文件之后,包括以下步骤:发布服务;所述发布服务包括在交互界面上完成ci/cd的建立和释放服务。
5.根据权利要求1所述的一种集成、交付和部署的方法,其特征在于,所述创建环境的方法为:在交互界面上依次选择环境配置和创建环境。
6.根据权利要求5所述的一种集成、交付和部署的方法,其特征在于,创建环境完成之后,包括以下步骤:在所述交互界面上通过点击测试环境查看环境的运行状态。
7.根据权利要求1所述的一种集成、交付和部署的方法,其特征在于,所述手动部署包括以下步骤:选择不同的服务来源;将项目应用服务设置为本项目下的应用服务;将共享应用设置为其他项目中设置的共享应用;选择环境和版本信息。
8.根据权利要求7所述的一种集成、交付和部署的方法,其特征在于,所述部署流水线包括以下步骤:先后执行配置触发方式和添加任务;当服务已经成功部署的情况下,在交互界面上选择替换实例。
9.根据权利要求8所述的一种集成、交付和部署的方法,其特征在于,部署流水线之前包括以下步骤:为对应的服务创建部署配置。
10.根据权利要求8所述的一种集成、交付和部署的方法,其特征在于,部署流水线之后包括以下步骤:在流水线中查看到创建的流水线,并且进行启用/停用。