CN110888657A - 一种基于Groovy模板引擎部署微服务的方法 - Google Patents

一种基于Groovy模板引擎部署微服务的方法 Download PDF

Info

Publication number
CN110888657A
CN110888657A CN201911188289.3A CN201911188289A CN110888657A CN 110888657 A CN110888657 A CN 110888657A CN 201911188289 A CN201911188289 A CN 201911188289A CN 110888657 A CN110888657 A CN 110888657A
Authority
CN
China
Prior art keywords
groovy
template
application
deployment
software
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.)
Granted
Application number
CN201911188289.3A
Other languages
English (en)
Other versions
CN110888657B (zh
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 Financial Information Technology Co Ltd
Inspur Intelligent Terminal Co Ltd
Original Assignee
Inspur Financial Information Technology 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 Financial Information Technology Co Ltd filed Critical Inspur Financial Information Technology Co Ltd
Priority to CN201911188289.3A priority Critical patent/CN110888657B/zh
Publication of CN110888657A publication Critical patent/CN110888657A/zh
Application granted granted Critical
Publication of CN110888657B publication Critical patent/CN110888657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于Groovy模板引擎部署微服务的方法,包括Groovy模板、GitLab软件和Jenkins软件;使用步骤如下两个阶段,配置阶段和运行阶段;本发明使用Groovy的模板引擎为微服务应用提供统一的部署模板,运维人员在配置阶段配置统一的Groovy模板并在配置微服务应用流水线时,只需要配置微服务相关的部署参数,部署应用时Groovy模板引擎会动态替换相关的参数生成应用的部署脚本并将应用发布至容器云平台中,保障了微服务构建脚本的灵活和简单,也能够将微服务快速发布至容器云平台,具有较高的实用价值。

Description

一种基于Groovy模板引擎部署微服务的方法
技术领域
本发明涉及一种基于Groovy模板引擎部署微服务的方法,属于自助打印终端技术领域。
背景技术
目前企业应用的架构正在从传统的架构向微服务架构转型,微服务是系统架构上的一种设计风格,主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP/HTTPS协议的RESTful API进行通信协作,也可以通过RPC协议进行通信协作,被拆分成的每一个小型服务都围绕着系统中一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试案例以及独立部署机制,由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写,基于kubernetes的容器云平台为微服务运行提供基础环境,如何将微服务快速部署至容器云平台成为企业应用面临的难题。
微服务部署至容器云平台通常采用手动执行命令或者采用开发流水线的方式,这些方式虽然可以将微服务部署至云平台,但存在每个应用都要单独编写部署脚本的问题,无法应对大量微服务应用快速部署至不同环境的需求。
发明内容
针对上述存在的技术问题,本发明的目的是:提出了一种基于Groovy模板引擎部署微服务的方法,为微服务应用提供统一的部署模板。
本发明的技术解决方案是这样实现的:一种基于Groovy模板引擎部署微服务的方法,包括Groovy模板、GitLab软件和Jenkins软件;使用步骤如下两个阶段,配置阶段和运行阶段;
配置阶段:
(1)Groovy模板的建立,运维人员进行Groovy模板的编写;
(2)Groovy模板的上传,运维人员将编写好的Groovy模板上传至GitLab软件内;
(3)流水线脚本的部署,运维人员在jenkins软件中创建应用的部署流水线脚本;
(4)部署参数,运维人员在jenkins软件中修改应用的部署参数;
(5)流水线脚本的保存,运维人员在jenkins软件中保存应用流水线脚本。
运行阶段:
(6)解析流水线脚本,通过Jenkins软件解析流水线脚本文件并运行;
(7)读取Groovy模板,流水线脚本文件读取GitLab软件上保存的Groovy模板;
(8)解析Groovy模板,Groovy模板引擎读取应用部署参数并解析;
(9)生产部署文件,流水线脚本根据Groovy模板及相关设置的参数生成应用部署文件;
(10)发送文件,将新生成的部署文件发送至容器云平台上。
优选的,在(4)部署参数中,参数包括部署环境、应用名称、端口号以及源代码地址。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明的一种基于Groovy模板引擎部署微服务的方法,该方法使用Groovy的模板引擎为微服务应用提供统一的部署模板,运维人员在配置阶段配置统一的Groovy模板并在配置微服务应用流水线时,只需要配置微服务相关的部署参数,部署应用时Groovy模板引擎会动态替换相关的参数生成应用的部署脚本并将应用发布至容器云平台中,保障了微服务构建脚本的灵活和简单,也能够将微服务快速发布至容器云平台,具有较高的实用价值。
具体实施方式
下面来说明本发明。
本发明所述的一种基于Groovy模板引擎部署微服务的方法,包括Groovy模板、GitLab软件和Jenkins软件;使用步骤如下两个阶段,配置阶段和运行阶段;
配置阶段:
(1)Groovy模板的建立,运维人员进行Groovy模板的编写;
(2)Groovy模板的上传,运维人员将编写好的Groovy模板上传至GitLab软件内;
(3)流水线脚本的部署,运维人员在jenkins软件中创建应用的部署流水线脚本;
(4)部署参数,运维人员在jenkins软件中修改应用的部署参数;
(5)流水线脚本的保存,运维人员在jenkins软件中保存应用流水线脚本。
运行阶段:
(6)解析流水线脚本,通过Jenkins软件解析流水线脚本文件并运行;
(7)读取Groovy模板,流水线脚本文件读取GitLab软件上保存的Groovy模板;
(8)解析Groovy模板,Groovy模板引擎读取应用部署参数并解析;
(9)生产部署文件,流水线脚本根据Groovy模板及相关设置的参数生成应用部署文件;
(10)发送文件,将新生成的部署文件发送至容器云平台上。
为了能够满足参数的要求,在(4)部署参数中,参数包括部署环境、应用名称、端口号以及源代码地址。
本发明的一种基于Groovy模板引擎部署微服务的方法,该方法使用Groovy的模板引擎为微服务应用提供统一的部署模板,运维人员在配置阶段配置统一的Groovy模板并在配置微服务应用流水线时,只需要配置微服务相关的部署参数,部署应用时Groovy模板引擎会动态替换相关的参数生成应用的部署脚本并将应用发布至容器云平台中,保障了微服务构建脚本的灵活和简单,也能够将微服务快速发布至容器云平台,具有较高的实用价值。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。

Claims (2)

1.一种基于Groovy模板引擎部署微服务的方法,其特征在于:包括Groovy模板、GitLab软件和Jenkins软件;使用步骤如下两个阶段,配置阶段和运行阶段;
配置阶段:
(1)Groovy模板的建立,运维人员进行Groovy模板的编写;
(2)Groovy模板的上传,运维人员将编写好的Groovy模板上传至GitLab软件内;
(3)流水线脚本的部署,运维人员在jenkins软件中创建应用的部署流水线脚本;
(4)部署参数,运维人员在jenkins软件中修改应用的部署参数;
(5)流水线脚本的保存,运维人员在jenkins软件中保存应用流水线脚本。
运行阶段:
(6)解析流水线脚本,通过Jenkins软件解析流水线脚本文件并运行;
(7)读取Groovy模板,流水线脚本文件读取GitLab软件上保存的Groovy模板;
(8)解析Groovy模板,Groovy模板引擎读取应用部署参数并解析;
(9)生产部署文件,流水线脚本根据Groovy模板及相关设置的参数生成应用部署文件;
(10)发送文件,将新生成的部署文件发送至容器云平台上。
2.如权利要求1所述的一种基于Groovy模板引擎部署微服务的方法,其特征在于:在(4)部署参数中,参数包括部署环境、应用名称、端口号以及源代码地址。
CN201911188289.3A 2019-11-28 2019-11-28 一种基于Groovy模板引擎部署微服务的方法 Active CN110888657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911188289.3A CN110888657B (zh) 2019-11-28 2019-11-28 一种基于Groovy模板引擎部署微服务的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911188289.3A CN110888657B (zh) 2019-11-28 2019-11-28 一种基于Groovy模板引擎部署微服务的方法

Publications (2)

Publication Number Publication Date
CN110888657A true CN110888657A (zh) 2020-03-17
CN110888657B CN110888657B (zh) 2022-08-09

Family

ID=69749180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911188289.3A Active CN110888657B (zh) 2019-11-28 2019-11-28 一种基于Groovy模板引擎部署微服务的方法

Country Status (1)

Country Link
CN (1) CN110888657B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114813A (zh) * 2020-09-17 2020-12-22 四川长虹电器股份有限公司 一种基于流水线的yaml脚本自动生成方法
CN112346752A (zh) * 2020-12-03 2021-02-09 江苏云坤信息科技有限公司 基于jenkins和K3S的软件环境快速部署方法
CN112732476A (zh) * 2021-01-26 2021-04-30 长威信息科技发展股份有限公司 一种基于微服务的故障定位分析方法及系统
CN113656037A (zh) * 2021-07-27 2021-11-16 克拉玛依油城数据有限公司 基于微服务管控动态脚本快速开发方法
CN114791826A (zh) * 2022-04-11 2022-07-26 亿玛创新网络(天津)有限公司 基于参数配置的Jenkins项目运行方法及装置
CN115129329A (zh) * 2021-03-24 2022-09-30 中国电信股份有限公司 部署服务的方法及装置、计算机可存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959718A (zh) * 2017-11-17 2018-04-24 西北工业大学 一种云计算环境下企业级应用软件的微服务架构
CN108762769A (zh) * 2018-06-04 2018-11-06 万惠投资管理有限公司 微服务应用编排和部署方法、装置及计算机终端
CN109933329A (zh) * 2019-03-01 2019-06-25 深圳微品致远信息科技有限公司 一种软件产品通过云端进行智能部署运维的方法
CN110109686A (zh) * 2019-04-25 2019-08-09 中电科嘉兴新型智慧城市科技发展有限公司 一种基于容器管理引擎的应用运维方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959718A (zh) * 2017-11-17 2018-04-24 西北工业大学 一种云计算环境下企业级应用软件的微服务架构
CN108762769A (zh) * 2018-06-04 2018-11-06 万惠投资管理有限公司 微服务应用编排和部署方法、装置及计算机终端
CN109933329A (zh) * 2019-03-01 2019-06-25 深圳微品致远信息科技有限公司 一种软件产品通过云端进行智能部署运维的方法
CN110109686A (zh) * 2019-04-25 2019-08-09 中电科嘉兴新型智慧城市科技发展有限公司 一种基于容器管理引擎的应用运维方法和系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114813A (zh) * 2020-09-17 2020-12-22 四川长虹电器股份有限公司 一种基于流水线的yaml脚本自动生成方法
CN112114813B (zh) * 2020-09-17 2022-06-03 四川长虹电器股份有限公司 一种基于流水线的yaml脚本自动生成方法
CN112346752A (zh) * 2020-12-03 2021-02-09 江苏云坤信息科技有限公司 基于jenkins和K3S的软件环境快速部署方法
CN112732476A (zh) * 2021-01-26 2021-04-30 长威信息科技发展股份有限公司 一种基于微服务的故障定位分析方法及系统
CN112732476B (zh) * 2021-01-26 2022-10-21 长威信息科技发展股份有限公司 一种基于微服务的故障定位分析方法及系统
CN115129329A (zh) * 2021-03-24 2022-09-30 中国电信股份有限公司 部署服务的方法及装置、计算机可存储介质
CN115129329B (zh) * 2021-03-24 2024-09-13 中国电信股份有限公司 部署服务的方法及装置、计算机可存储介质
CN113656037A (zh) * 2021-07-27 2021-11-16 克拉玛依油城数据有限公司 基于微服务管控动态脚本快速开发方法
CN114791826A (zh) * 2022-04-11 2022-07-26 亿玛创新网络(天津)有限公司 基于参数配置的Jenkins项目运行方法及装置

Also Published As

Publication number Publication date
CN110888657B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN110888657B (zh) 一种基于Groovy模板引擎部署微服务的方法
CN112988153B (zh) 基于微前端的数据处理方法及框架
CN110543328B (zh) 基于Ambari的跨平台组件管理方法、系统、终端及存储介质
CN111682973B (zh) 一种边缘云的编排方法及系统
CN111475260A (zh) 一种基于jenkins和kubernetes平台的可弹性CICD方法
KR101212778B1 (ko) 클라우드 컴퓨팅 기반 스마트 오피스 시스템 및 이의 운용을 위한 서버 및 운용 방법
CN105553741A (zh) 一种基于云计算的应用系统自动化部署方法
CN109144533A (zh) 一种应用程序的更新及加载的方法、系统及计算机装置
CN102306122A (zh) 自动化测试方法及设备
CN102983996A (zh) 一种高可用集群资源管理的动态配置方法与系统
CN109960580A (zh) 一种部署开票服务的方法及系统
CN111399814A (zh) 一种构建任务可视化编排方法及装置
CN111367618A (zh) 基于docker的代码管理方法、系统、终端及介质
CN113779477A (zh) 一种基于PaaS云平台的流水线发布方法及系统
JP2021131897A (ja) スケジューリング方法、装置、設備、記憶設備、及びプログラム
CN116450153B (zh) 一种容器化仿真平台快速部署方法
CN117009238A (zh) 数据测试方法、装置、电子设备、存储介质和程序产品
CN115421847A (zh) 支持多引擎的研发运维平台和cicd流水线的管理方法及设备
CN112506638B (zh) 基于Activiti技术的运维脚本流程化编排方法
CN107015837A (zh) 一种软件包自动化安装与配置方法及装置
CN109298851B (zh) 一种OSGi异构软件框架的扩展机制适配方法
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN109710605B (zh) 一种设备信息自动化采集装置以及方法
CN112241312B (zh) 基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法
CN117560281A (zh) 基于ansible的集群自动化部署方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information

Inventor after: Hu Yan

Inventor after: Wang Huiqi

Inventor after: Jing Xiuli

Inventor after: Fu Xianrui

Inventor before: Hu Yan

Inventor before: Wang Huiqi

Inventor before: Jing Xiuli

Inventor before: Fu Xianrui

CB03 Change of inventor or designer information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220623

Address after: 215000 building 3, Fumin phase III plant, No. 818, Songjia Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

Applicant after: Jinan Langchao Jindi Information Technology Co.,Ltd.

Address before: 215100 818 Wusong Road, Wusong River Industrial Park, Wuzhong development area, Suzhou, Jiangsu

Applicant before: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 215000 building 3, Fumin phase III plant, No. 818, Songjia Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Patentee after: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

Country or region after: China

Patentee after: Inspur Intelligent Terminal Co.,Ltd.

Address before: 215000 building 3, Fumin phase III plant, No. 818, Songjia Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Patentee before: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

Country or region before: China

Patentee before: Jinan Langchao Jindi Information Technology Co.,Ltd.