CN111984246A - 分布式环境下企业级系统自动化部署方法及其装置 - Google Patents

分布式环境下企业级系统自动化部署方法及其装置 Download PDF

Info

Publication number
CN111984246A
CN111984246A CN202010910695.2A CN202010910695A CN111984246A CN 111984246 A CN111984246 A CN 111984246A CN 202010910695 A CN202010910695 A CN 202010910695A CN 111984246 A CN111984246 A CN 111984246A
Authority
CN
China
Prior art keywords
open source
mirror image
image file
source code
enterprise
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
CN202010910695.2A
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.)
Chongqing Kelanda Technology Co ltd
Original Assignee
Chongqing Kelanda 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 Chongqing Kelanda Technology Co ltd filed Critical Chongqing Kelanda Technology Co ltd
Priority to CN202010910695.2A priority Critical patent/CN111984246A/zh
Publication of CN111984246A publication Critical patent/CN111984246A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种分布式环境下企业级系统自动化部署方法及装置,方法包括:研发人员发出合并请求;管理员审核操作,得到审核结果;当审核结果为成功时,根据合并请求触发开源代码持续集成工具构建脚本;通过开源代码持续集成工具按照脚本生成开源容器引擎镜像文件,并将镜像文件推送到镜像仓库;通过自动部署程序从镜像仓库中拉取最新的镜像文件;根据最新的镜像文件完成分布式环境下企业级系统的自动化部署。实施本发明实施例,无需项目人员不断地执行复制—粘贴工作,可自动地完成企业级系统的部署,极大地降低了分布式生产环境下的代目部署成本,提高了项目部署效率,同时降低了因人工操作带来的出错率。

Description

分布式环境下企业级系统自动化部署方法及其装置
技术领域
本发明涉及计算机软件技术领域,具体涉及一种分布式环境下企业级系统自动化部署方法及其装置。
背景技术
分布式环境下,生产环境的服务器越来越多,再加上版本迭代的速度越来越快,在进行项目部署时,需要获取每一台服务器的代码,不断重复复制-粘贴的工作,导致项目部署效率低下,其产生的成本也越来越大。且,由于工作人员手动地执行服务器代码的复制-粘贴工作,也增大了出错率。
发明内容
针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种分布式环境下企业级系统自动化部署方法及其装置,以降低代码部署成本、提高部署效率及降低出错率。
为实现上述目的,第一方面,本发明实施例提供了一种分布式环境下企业级系统自动化部署方法,包括:
通过开源代码管理工具接收研发人员发出的合并请求;
接收管理员对所述合并请求的审核操作,以得到审核结果;
当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本;
通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库;
通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件;
根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
在本申请有些优选实施方式中,所述方法还包括:
当所述审核结果为失败时,推送失败通知给所述管理员;
若未将所述镜像文件推送到镜像仓库,则推送失败通知给所述管理员。
其中,所述开源代码管理工具为Gitlab,所述开源代码持续集成工具为Jenkins,所述开源容器引擎为Docker,所述镜像仓库为基于dokcer的开源镜像存储仓库。
第二方面,本发明实施例提供了一种分布式环境下企业级系统自动化部署装置,包括:
接收单元,用于通过开源代码管理工具接收研发人员发出的合并请求;
审核单元,用于接收管理员对所述合并请求的审核操作,以得到审核结果;
构建单元,用于当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本;
镜像单元,用于通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库;
拉取单元,用于通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件;
部署单元,用于根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
进一步地,在本申请某些优选实施方式中,所述系统还包括推送单元,用于:
当所述审核结果为失败时,推送失败通知给所述管理员;
若未将所述镜像文件推送到镜像仓库,则推送失败通知给所述管理员。
第三方面,本发明实施例提供了另一种分布式环境下企业级系统自动化部署装置,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
实施本发明实施例,无需项目人员不断地执行复制—粘贴工作,可自动地完成企业级系统的部署,极大地降低了分布式生产环境下的代目部署成本,提高了项目部署效率,同时降低了因人工操作带来的出错率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的分布式环境下企业级系统自动化部署方法的流程示意图;
图2是本发明第一实施例提供的分布式环境下企业级系统自动化部署装置结构示意图;
图3是本发明第二实施例提供的分布式环境下企业级系统自动化部署装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,本发明实施例提供的分布式环境下企业级系统自动化部署方法包括:
S101,通过开源代码管理工具接收研发人员发出的合并请求。
具体地,研发人员提交合并请求到开源代码管理工具,在本实施例中,该开源代码管理工具为Gitlab,但不仅限于此,也可以是其他开源代码管理工具,具体可由技术人员根据需要自行选择。
S102,接收管理员对所述合并请求的审核操作,以得到审核结果。
具体地,管理员对合并请求进行审核,审查代码同意合并到主分支,即审核成功并执行步骤S103,若审核失败,则执行步骤S107。
S103,当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本。
具体地,审核成功时,根据合并请求触发开源代码持续集成工具Jenkins构建脚本。
S104,通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库。
其中,所述开源容器引擎为Docker,所述镜像仓库为基于dokcer的开源镜像存储仓库。
具体地,Jenkins按照脚本生成docker镜像文件,并推送到镜像仓库。
进一步地,若成功推送至镜像仓库,则执行步骤S105,反之,执行步骤S108。
S105,通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件。
S106,根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
S107,推送失败通知给管理员。
S108,推送失败通知给管理员。
实施本发明实施例的方法,需项目人员不断地执行复制—粘贴工作,可自动地完成企业级系统的部署,极大地降低了分布式生产环境下的代目部署成本,提高了项目部署效率,同时降低了因人工操作带来的出错率。
基于相同的发明构思,本发明实施例提供了一种分布式环境下企业级系统自动化部署装置。如图2所示,该装置包括:
接收单元10,用于通过开源代码管理工具接收研发人员发出的合并请求;
审核单元11,用于接收管理员对合并请求的审核操作,以得到审核结果;
构建单元12,用于当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本;
镜像单元13,用于通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库;
拉取单元14,用于通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件;
部署单元15,用于根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
其中,所述开源代码管理工具为Gitlab,所述开源代码持续集成工具为Jenkins,所述开源容器引擎为Docker,所述镜像仓库为基于dokcer的开源镜像存储仓库。
进一步地,该装置还包括推送单元16,用于:
当所述审核结果为失败时,推送失败通知给所述管理员;
若未将所述镜像文件推送到镜像仓库,则推送失败通知给所述管理员。
可选地,如图3所示,在本发明的另一优选实施例中,分布式环境下企业级系统自动化部署装置可以包括:一个或多个处理器101、一个或多个输入设备102、一个或多个输出设备103和存储器104,上述处理器101、输入设备102、输出设备103和存储器104通过总线105相互连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,所述处理器101被配置用于调用所述程序指令执行上述分布式环境下企业级系统自动化部署方法实施例部分的方法。
应当理解,在本发明实施例中,所称处理器101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备102可以包括键盘等,输出设备103可以包括显示器(LCD等)、扬声器等。
该存储器104可以包括只读存储器和随机存取存储器,并向处理器101提供指令和数据。存储器104的一部分还可以包括非易失性随机存取存储器。例如,存储器104还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器101、输入设备102、输出设备103可执行本发明实施例提供的分布式环境下企业级系统自动化部署方法的实施例中所描述的实现方式,在此不再赘述。
需要说明的是,关于装置实施例部分更为具体的工作流程和有益效果,请参考前述方法实施例,在此不再赘述。
实施本发明实施例的装置,无需项目人员不断地执行复制—粘贴工作,可自动地完成企业级系统的部署,极大地降低了分布式生产环境下的代目部署成本,提高了项目部署效率,同时降低了因人工操作带来的出错率。
进一步地,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:上述分布式环境下企业级系统自动化部署方法。
所述计算机可读存储介质可以是前述实施例所述的后台服务器的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如所述系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种分布式环境下企业级系统自动化部署方法,其特征在于,包括:
通过开源代码管理工具接收研发人员发出的合并请求;
接收管理员对所述合并请求的审核操作,以得到审核结果;
当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本;
通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库;
通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件;
根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述审核结果为失败时,推送失败通知给所述管理员。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若未将所述镜像文件推送到镜像仓库,则推送失败通知给所述管理员。
4.如权利要求1所述的方法,其特征在于,所述开源代码管理工具为Gitlab,所述开源代码持续集成工具为Jenkins,所述开源容器引擎为Docker,所述镜像仓库为基于dokcer的开源镜像存储仓库。
5.一种分布式环境下企业级系统自动化部署装置,其特征在于,包括:
接收单元,用于通过开源代码管理工具接收研发人员发出的合并请求;
审核单元,用于接收管理员对所述合并请求的审核操作,以得到审核结果;
构建单元,用于当所述审核结果为成功时,根据所述合并请求触发开源代码持续集成工具构建脚本;
镜像单元,用于通过所述开源代码持续集成工具按照所述脚本生成开源容器引擎镜像文件,并将所述镜像文件推送到镜像仓库;
拉取单元,用于通过自动部署程序从所述镜像仓库中拉取最新的所述镜像文件;
部署单元,用于根据最新的所述镜像文件完成分布式环境下企业级系统的自动化部署。
6.如权利要求5所述的装置,其特征在于,所述装置还包括推送单元,用于:
当所述审核结果为失败时,推送失败通知给所述管理员;
若未将所述镜像文件推送到镜像仓库,则推送失败通知给所述管理员。
7.如权利要求5所述的装置,其特征在于,所述开源代码管理工具为Gitlab,所述开源代码持续集成工具为Jenkins,所述开源容器引擎为Docker,所述镜像仓库为基于dokcer的开源镜像存储仓库。
8.一种分布式环境下企业级系统自动化部署装置,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至4任一项所述的方法。
CN202010910695.2A 2020-09-02 2020-09-02 分布式环境下企业级系统自动化部署方法及其装置 Pending CN111984246A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010910695.2A CN111984246A (zh) 2020-09-02 2020-09-02 分布式环境下企业级系统自动化部署方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010910695.2A CN111984246A (zh) 2020-09-02 2020-09-02 分布式环境下企业级系统自动化部署方法及其装置

Publications (1)

Publication Number Publication Date
CN111984246A true CN111984246A (zh) 2020-11-24

Family

ID=73447860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010910695.2A Pending CN111984246A (zh) 2020-09-02 2020-09-02 分布式环境下企业级系统自动化部署方法及其装置

Country Status (1)

Country Link
CN (1) CN111984246A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486565A (zh) * 2020-12-10 2021-03-12 上海芯翌智能科技有限公司 一种基于容器化的持续集成的方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180159887A1 (en) * 2015-07-13 2018-06-07 CYBRIC Inc. Enterprise level cybersecurity automatic remediation
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质
CN111142879A (zh) * 2019-12-05 2020-05-12 深圳融卡智能科技有限公司 软件集成发布方法及自动运维平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180159887A1 (en) * 2015-07-13 2018-06-07 CYBRIC Inc. Enterprise level cybersecurity automatic remediation
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质
CN111142879A (zh) * 2019-12-05 2020-05-12 深圳融卡智能科技有限公司 软件集成发布方法及自动运维平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W-BOY: "jenkins+docker+gitlab", Retrieved from the Internet <URL:https://www.cnblogs.com/wengshaohang/p/12301016.html> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486565A (zh) * 2020-12-10 2021-03-12 上海芯翌智能科技有限公司 一种基于容器化的持续集成的方法及设备

Similar Documents

Publication Publication Date Title
US10282275B2 (en) Method and system for managing code
CN111124917B (zh) 公共测试用例的管控方法、装置、设备及存储介质
US20240143909A1 (en) System and Method for Electronic Document Interaction with External Resources
CN110727575A (zh) 一种信息处理方法、系统、装置、以及存储介质
CN112561370A (zh) 软件发版的管理方法、装置、计算机设备及存储介质
CN111984246A (zh) 分布式环境下企业级系统自动化部署方法及其装置
CN110618873A (zh) 一种基于信息系统的数据锁定方法、设备以及系统
CN104572439A (zh) 回归警告方法和系统
US11645192B2 (en) Graph-based method for inductive bug localization
CN114489762A (zh) 一种多版本应用的实现方法、系统及电子设备
CN113673945A (zh) 核电厂临时变更监控方法及装置
CN107169767B (zh) 交易冲正方法和系统
JP6058498B2 (ja) コンパイル方法、プログラム及びコンパイル装置
US20150095094A1 (en) Node-pair process scope definition adaptation
CN111027977A (zh) 一种数据验证的方法、装置及电子设备
CN113918162B (zh) 一种基于集中式管理模式下的前端代码自动化校验方法
CN112579061B (zh) 一种安卓组件间数据传递方法、设备、系统及存储介质
WO2014130790A1 (en) Supplier analysis and verification system and method
CN114170006A (zh) 基于状态机的资讯数据获取方法、装置、设备及介质
CN113516545B (zh) 内控合规业务管理方法及装置
EP3128479A1 (en) Methods and systems for transaction processing
CN112950138A (zh) 协同开发的状态管理方法、装置和服务器
CN115098441A (zh) 数据库参数管理方法、装置和计算机设备
CN113791915A (zh) 一种核电站业务管理方法、装置、终端设备及存储介质
CN117149275A (zh) 生产指令的部署方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination