CN114327600A - 全环境一体化cicd应用部署平台 - Google Patents

全环境一体化cicd应用部署平台 Download PDF

Info

Publication number
CN114327600A
CN114327600A CN202111661904.5A CN202111661904A CN114327600A CN 114327600 A CN114327600 A CN 114327600A CN 202111661904 A CN202111661904 A CN 202111661904A CN 114327600 A CN114327600 A CN 114327600A
Authority
CN
China
Prior art keywords
application
environment
deployment
cicd
jenkins
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
CN202111661904.5A
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.)
Shanghai Cangu Investment Management Consulting Service Co ltd
Original Assignee
Shanghai Cangu Investment Management Consulting Service 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 Shanghai Cangu Investment Management Consulting Service Co ltd filed Critical Shanghai Cangu Investment Management Consulting Service Co ltd
Priority to CN202111661904.5A priority Critical patent/CN114327600A/zh
Publication of CN114327600A publication Critical patent/CN114327600A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提出全环境一体化CICD应用部署平台,CMDB记录每个应用的服务器归属、配置信息,通过restful接口进行调用,golang的模板抽象各类应用配置,使得同一种类的应用系统可以完全套用同样的模板,利用基于环境的自定义变量进行模板的部分数据替换;Jenkins作为后台的实际打包,通过restfulAPI对jenkins进行管理,将单个jenkins打包部署任务分解成为环境准备、入参设置、工具包准备、打包部署。通过使用集中化配置中心,剥离应用层原本配置在环境本地的应用系统配置,使得应用包的部署脱离环境的约束,可以在任意环境部署,这也使得经过测试验证过的应用包可以直接拿到生产上进行部署,在本发明直接使用uat环境的应用包进行部署。

Description

全环境一体化CICD应用部署平台
技术领域
本发明涉及计算机技术领域,尤其涉及全环境一体化CICD应用部署平台。
背景技术
Jenkins本身用java语言开发的是一个开源的Web平台,用于支持软件/测试项目的持续集成、持续部署的工具,具备高扩展性,通常与版本管理工具(SCM)、构建工具结合使用,目前国内外软件开发测试行业,大部分都直接采用或者基于Jenkins来组建软件项目的CICD流程方案,CICD是指软件开发过程中形成的持续集成、持续交付以及持续部署的方法。
企业中不同的项目团队由于产品形态不同导致构建和交付过程也不尽相同,都是手工配置流水线,在应用开发时遇到最多的问题是开发、测试、验收、生产环境不一致的问题,往往开发、测试、运维人员需要投入大量的精力来维护相关的环境,保证完成充分的测试,同时在生产发布时,由于环境配置与测试环境的不一致会导致上线出现Bug,严重时甚至会导致生产上线失败,严重影响工作效率,存在着不足。
综上所述,针对现有技术中存在的缺陷,特别需要全环境一体化CICD应用部署平台,以解决现有技术的不足。
发明内容
本发明的目的是提供全环境一体化CICD应用部署平台,通过使用集中化配置中心,剥离应用层在环境本地的应用配置,使得应用包的部署脱离环境的约束,可以在任意环境部署。
本发明为解决其技术问题所采用的技术方案是:
全环境一体化CICD应用部署平台,包括:CMDB、Jenkins;
CMDB记录每个应用的服务器归属、配置信息,通过restful接口进行调用,golang的模板抽象各类应用配置,使得同一种类的应用系统可以完全套用同样的模板,利用基于环境的自定义变量进行模板的部分数据替换;
Jenkins作为后台的实际打包,通过restfulAPI对jenkins进行管理,将单个jenkins打包部署任务分解成为环境准备、入参设置、工具包准备、打包部署。
进一步,打包部署又拆分为代码拉取、包构建、包推送、环境部署、回调五个步骤,每个步骤均可以通过自定义模板的方式对相关打包部署过程进行自由的组装。
进一步,部署平台通过对接SSO单点登录系统,对应用的归属进行配置。
进一步,本发明支持linux操作系统的虚拟机、物理机,以及docker、k8s容器的应用部署,在传统操作系统上,通过saltstack工具对于发布目标服务器远程控制,下发部署脚本,并执行。
进一步,对于k8s容器里应用,通过在系统中添加各容器环境的kubeconfig文件,实现对各容器平台的操作。
进一步,本发明直接使用uat环境的应用包进行部署。
本发明的优点在于:
综上所述,本发明通过使用集中化配置中心,剥离应用层原本配置在环境本地的应用系统配置,使得应用包的部署脱离环境的约束,可以在任意环境部署,这也使得经过测试验证过的应用包可以直接拿到生产上进行部署,避免了生产合并代码,二次打包环境不一致所可能带来的生产发布风险。在本系统的生产发布过程中,是直接使用uat环境的应用包进行部署。
附图说明
图1为生产发布流程图;
图2为测试验收流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。
全环境一体化CICD应用部署平台,包括:CMDB、Jenkins;CMDB记录每个应用的服务器归属、配置信息,通过restful接口进行调用,CMDB作为运维元数据中心,记录着各个基础配置信息。是所有自动化运维工具的大脑。本发明利用golang的模板技术,抽象各类应用配置模板,使得同一种类的应用系统可以完全套用同样的模板,大幅度减少应用系统配置的难度。同时利用基于环境的自定义变量进行模板的部分数据替换,实现灵活配置,Jenkins作为后台的实际打包,通过restfulAPI对jenkins进行管理,将单个jenkins打包部署任务分解成为环境准备、入参设置、工具包准备、打包部署,打包部署又拆分为代码拉取、包构建、包推送、环境部署、回调五个步骤,每个步骤均可以通过自定义模板的方式对相关打包部署过程进行自由的组装。所有jenkins相关任务都可以通过CICD平台进行配置,无需繁琐的人工配置过程。
实施例:
新建CMDB应用配置信息;
通过CMDB系统新建应用,配置应用负责人、团队等信息。
linux服务器应用:
将CMDB的服务器添加至相关应用系统并分配相关的环境。
docker应用:
给应用系统增加容器环境配置,主要设置发布环境、cpurequest、cpulimit、memoryrequest、memorylimit、副本数等主要参数;
新建应用,配置应用信息;
在CICD平台上新建应用名,应用需要和打包产物保持一直。选择相应的开发人员、测试人员、应用类型、发布配置类型、git地址、包类型、启动参数、团队等。
新建Jenkins同步任务;
为应用选择相应的打包任务流程,通过选择已预先配置不同方案的包构建、包推送、环境部署步骤,组合生成一个jenkins任务。点击同步按钮,将直接生成所有环境的jenkins任务。
分环境打包;
在相关环境的jenkins生成后,可以通过持续交付页面下的“部署总览”页面对相应的环境点击打包部署操作。正常情况下,会触发先前生成的jenkins在后台进行打包操作,可用通过查看打包任务按钮查看实际打包过程。打包完成后,会回调CICD平台告知打包完成,CICD会再次触发部署任务。待部署任务成功后,CICD平台会记录应用打包的commit号作为版本号。
生产发布,生产发布流程参见图1,测试验收的流程参见图2。
生产发布通过使用UAT上线包进行直接部署,上线前需要应用的相关的测试人员对UAT的包进行准出操作。在“UAT包管理”页面,选择需要验证的应用,找到对应的版本进行验证。CICD将记录每个版本的包验证人员,可作为后续IT审计的依据。所有经过测试人员验证的包可以进入到发布流程。发布流程的发起可以是相关应用的开发或测试人员,流程发起时仅可选择已经验证过的版本包。申请发布后,应用对应的团队负责人可以在待审批页面看到。待审批完成后,工单会自动进入待发布状态,此时应用相关的开发人员、测试人员都可以点击发布按钮进行发布。
本发明的优点在于:
本发明通过使用集中化配置中心,剥离应用层原本配置在环境本地的应用系统配置,使得应用包的部署脱离环境的约束,可以在任意环境部署,这也使得经过测试验证过的应用包可以直接拿到生产上进行部署,避免了生产合并代码,二次打包环境不一致所可能带来的生产发布风险。在本系统的生产发布过程中,是直接使用uat环境的应用包进行部署。
以上实施方式只为说明本发明的技术构思及特点,其目的在于让本领域的技术人员了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所做的等效变化或修饰,都应涵盖在本发明的保护范围内。

Claims (6)

1.全环境一体化CICD应用部署平台,其特征在于,包括:CMDB、Jenkins;
CMDB记录每个应用的服务器归属、配置信息,通过restful接口进行调用,golang的模板抽象各类应用配置,使得同一种类的应用系统可以完全套用同样的模板,利用基于环境的自定义变量进行模板的部分数据替换;
Jenkins作为后台的实际打包,通过restfulAPI对jenkins进行管理,将单个jenkins打包部署任务分解成为环境准备、入参设置、工具包准备、打包部署。
2.根据权利要求1所述的全环境一体化CICD应用部署平台,其特征在于,打包部署又拆分为代码拉取、包构建、包推送、环境部署、回调五个步骤,每个步骤均可以通过自定义模板的方式对相关打包部署过程进行自由的组装。
3.根据权利要求1所述的全环境一体化CICD应用部署平台,其特征在于,部署平台通过对接SSO单点登录系统,对应用的归属进行配置。
4.根据权利要求1所述的全环境一体化CICD应用部署平台,其特征在于,部署平台支持linux操作系统的虚拟机、物理机,以及docker、k8s容器的应用部署,在传统操作系统上,通过saltstack工具对于发布目标服务器远程控制,下发部署脚本,并执行。
5.根据权利要求4所述的全环境一体化CICD应用部署平台,其特征在于,对于k8s容器里应用,通过在系统中添加各容器环境的kubeconfig文件,实现对各容器平台的操作。
6.根据权利要求1所述的全环境一体化CICD应用部署平台,其特征在于,部署平台直接使用uat环境的应用包进行部署。
CN202111661904.5A 2021-12-30 2021-12-30 全环境一体化cicd应用部署平台 Pending CN114327600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111661904.5A CN114327600A (zh) 2021-12-30 2021-12-30 全环境一体化cicd应用部署平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111661904.5A CN114327600A (zh) 2021-12-30 2021-12-30 全环境一体化cicd应用部署平台

Publications (1)

Publication Number Publication Date
CN114327600A true CN114327600A (zh) 2022-04-12

Family

ID=81021014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111661904.5A Pending CN114327600A (zh) 2021-12-30 2021-12-30 全环境一体化cicd应用部署平台

Country Status (1)

Country Link
CN (1) CN114327600A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450534A (zh) * 2023-06-19 2023-07-18 建信金融科技有限责任公司 移动端应用程序的生成方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450534A (zh) * 2023-06-19 2023-07-18 建信金融科技有限责任公司 移动端应用程序的生成方法、装置、设备及介质
CN116450534B (zh) * 2023-06-19 2023-08-22 建信金融科技有限责任公司 移动端应用程序的生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN107577469B (zh) 一种软件打包发布管理方法
US8707265B2 (en) Test automation method for software programs
US20170177311A1 (en) Service extraction and application composition
CN106469068B (zh) 应用程序的部署方法及系统
CN111158708A (zh) 一种任务编排引擎系统
WO2001082071A1 (en) Methods and systems for supporting and deploying distributed computing components
CN112084008B (zh) 一种基于容器技术快速部署云管系统的方法
CN113687918A (zh) 一种兼容云原生和传统环境的可扩展的混沌工程实验架构
CN107480050B (zh) 一种自动测试更新包的测试方法
Bartusevics et al. Models for implementation of software configuration management
CN114327600A (zh) 全环境一体化cicd应用部署平台
US20230393825A1 (en) Automated software deployment techniques
CN106951593B (zh) 一种生成保护测控装置的配置文件的方法和装置
CN111813420A (zh) 一种对OpenStack集群进行自动化性能测试的方法
CN110795105A (zh) 一种配电自动化主站系统自动编译部署方法与系统
GB2357170A (en) Method and device for computer testing on a production line.
CN116069334A (zh) 一种基于云原生的在线开发与代码托管方法及系统
CN112836220B (zh) 一种云中心环境检查方法
CN114996039A (zh) 基于第三方系统对接的云原生系统联调方法、系统及介质
CN110851516B (zh) 主机运控系统及方法
CN115185561A (zh) 一种基于Serveless Jenkins的CICD系统和实现方法
CN114564213A (zh) 预装软件部署方法、系统、终端及存储介质
CN114385258A (zh) 自动化测试方法、装置、电子设备及存储介质
Föse et al. SAP NetWeaver AS ABAP System Administration
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication