CN107608710A - 基于Jenkins工具的软件项目构建任务配置方法及装置 - Google Patents

基于Jenkins工具的软件项目构建任务配置方法及装置 Download PDF

Info

Publication number
CN107608710A
CN107608710A CN201710773700.8A CN201710773700A CN107608710A CN 107608710 A CN107608710 A CN 107608710A CN 201710773700 A CN201710773700 A CN 201710773700A CN 107608710 A CN107608710 A CN 107608710A
Authority
CN
China
Prior art keywords
task
jenkins
target
software
units
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
CN201710773700.8A
Other languages
English (en)
Other versions
CN107608710B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710773700.8A priority Critical patent/CN107608710B/zh
Publication of CN107608710A publication Critical patent/CN107608710A/zh
Priority to PCT/CN2018/102918 priority patent/WO2019042311A1/zh
Application granted granted Critical
Publication of CN107608710B publication Critical patent/CN107608710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

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 Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了基于Jenkins工具的软件项目构建任务配置方法及装置,该方法根据开发人员编写软件项目的构建任务配置文件,能够根据该构建任务配置文件自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,根据构建任务配置文件中的任务定义自动创建Jenkins构建任务。用户只需维护构建任务配置文件,其它过程均由***自动解析构建任务配置文件自动进行构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高;而且,用户只需要维护构建任务配置文件,维护成本低。

Description

基于Jenkins工具的软件项目构建任务配置方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Jenkins工具的软件项目构建任务配置方法及装置。
背景技术
持续集成(Continuous integration,CI)就是在软件项目开发阶段,频繁地将更新代码集成到主干程序,具体的,当开发人员提交更新点的代码后,立刻进行构建(即,编译打包)、第一轮测试,根据测试结果确定更新点代码和主干代码能否正确地集成在一起,从而帮助开发人员快速发现错误,使产品能够快速迭代,同时保证产品的高质量。Jenkins是常用的构建工具之一。
目前的Jenkins构建任务方案,创建一个构建工程需要以下几个步骤:
1)在Jenkins master创建构建工程(前提是已有Jenkins master);
2)安装构建任务依赖的Jenkins插件;
3)申请构建任务所需的指定镜像的虚拟机、容器或裸机;
4)在虚拟机、容器或裸机上安装构建任务必须的软件;
5)将虚拟机、容器或裸机挂载到Jenkins master上;
6)创建构建任务,配置构建步骤,主要包含配置构建任务的节点,编写构建脚本,添加构建步骤;
7)如果一个软件工程中包含多个构建任务,一个软件项目又包含多个工程,需要重复执行以上步骤1)-步骤6)。
现有的Jenkins构建任务方案每个步骤都需要开发人员手动在Jenkins的图形化界面上进行配置,操作繁琐、效率低;而且,软件项目数量越多,维护难度越大。
Jenkins备份或迁移方案与Jenkins构建任务存在同样的问题,需要开发人员在Jenkins的图形化界面上手动配置需要备份哪些东西。
发明内容
有鉴于此,本发明的目的在于提供一种基于Jenkins工具的软件项目构建任务配置方法及装置,以解决现有的Jenkins工具创建构建任务、备份和迁移时,必须在Jenkins图形化界面上进行手动配置的技术问题,其技术方案如下:
第一方面,本申请提供了一种基于Jenkins工具的软件工程配置方法包括:当监测到目标软件项目的代码仓库的代码变化时,获取所述目标软件项目对应的目标构建任务配置文件;解析所述目标构建任务配置文件获得所述构建任务所需的目标***资源、依赖关系和任务定义,所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机;所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件;所述任务定义用于定义所述构建任务的构建步骤和触发时间;配置与所述目标***资源相匹配的***资源;根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的目标软件和目标Jenkins插件;根据所述任务定义生成构建任务。
第一方面提供的基于Jenkins工具的软件工程配置方法,根据开发人员编写的软件项目的构建任务配置文件,自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,自动创建Jenkins构建任务。整个过程均由***自动解析构建任务配置文件自动完成构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高。
在第一方面一种可能的实现方式中,所述配置与所述目标***资源相匹配的***资源,包括:查找所述当前***环境中是否存在所述目标***资源;如果所述当前***环境中存在所述目标***资源,则执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤;如果所述当前***环境中不存在所述目标***资源,则创建所述目标***资源,然后执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤。
本实现方式提供的基于Jenkins工具的软件工程配置方法,能够自动根据构建任务配置文件中指定的目标***资源,查找或创建与该目标***资源相匹配的***资源。
在第一方面另一种可能的实现方式中,所述根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件,包括:查找当前操作***中是否安装有所述目标软件;如果所述当前操作***中未安装所述目标软件,则根据所述目标构建任务配置文件中包含的所述目标软件的下载地址获取所述目标软件,并安装所述目标软件;如果所述当前操作***中安装有所述目标软件,则继续查找所述Jenkins工具中是否安装有所述目标Jenkins插件;如果所述Jenkins工具中未安装所述目标Jenkins插件,则根据所述目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取所述目标Jenkins插件,并安装所述目标Jenkins插件;如果所述Jenkins工具中安装有所述目标Jenkins插件,则确定所述当前***环境中安装有所述目标软件和所述目标Jenkins插件。
本实现方式提供的基于Jenkins工具的软件工程配置方法,能够根据构建任务配置文件中指定的构建任务所依赖的目标软件和目标Jenkins插件,自动安装目标软件和目标Jenkins,即根据构建任务配置文件自动解决依赖关系。
在第一方面的又一种可能的实现方式中,所述根据所述任务定义生成构建任务,包括:根据所述任务定义创建或更新所述构建任务;将所述目标***资源挂载到Jenkins主机上,以运行所述构建任务。
本实现方式提供的基于Jenkins工具的软件工程配置方法,能够自动根据构建任务配置文件中的任务定义自动创建或更新构建任务。
在第一方面的又一种可能的实现方式中,还包括:监测所述Jenkins工具的运行状态,以及,监测所述当前操作***的运行状态;当所述当前操作***的运行状态存在异常时,产生告警信息;当所述Jenkins工具的运行状态是所述目标***资源掉线时,重新将所述目标***资源挂载到Jenkins主机上。
本实现方式提供的基于Jenkins工具的软件工程配置方法,实时监测Jenkins工具的运行状态,以及当前操作***的运行状态,并在监测到状态异常后,自动产生告警信息,以提供用户及时处理异常。并在运行当前构建任务的目标***资源掉线时,重新将该目标***资源挂载到Jenkins主机上。
在第一方面的又一种可能的实现方式中,还包括:将已创建构建任务转换为所述已创建构建任务对应的初始构建任务配置文件,所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
第二方面,本申请还提供了一种基于Jenkins工具的软件工程配置装置,包括:第一获取单元,用于当监测到目标软件项目的代码仓库的代码变化时,获取所述目标软件项目对应的目标构建任务配置文件;解析单元,用于解析所述目标构建任务配置文件获得所述构建任务所需的目标***资源、依赖关系和任务定义,所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机;所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件;所述任务定义用于定义所述构建任务的构建步骤和触发时间;第一配置单元,用于配置与所述目标***资源相匹配的***资源;第二配置单元,用于根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的目标软件和目标Jenkins插件;任务生成单元,用于根据所述任务定义生成构建任务。
在第二方面的一种可能的实现方式中,所述第一配置单元包括:第一查找子单元,用于查找当前***环境中是否存在所述目标***资源;当所述当前***环境中存在所述目标***资源时,由所述第二配置单元执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件;创建子单元,用于当所述当前***环境中不存在所述目标***资源,则创建所述目标***资源。
在第二方面的另一种可能的实现方式中,所述第二配置单元包括:第二查找子单元,用于查找当前操作***中是否安装有所述构建任务所依赖的目标软件;第一获取子单元,用于当所述当前操作***中未安装所述目标软件时,根据所述目标构建任务配置文件中包含的所述目标软件的下载地址获取所述目标软件,并安装所述目标软件;第三查找子单元,用于当所述当前操作***中安装有所述目标软件时,继续查找所述Jenkins工具中是否安装有所述目标Jenkins插件;第二获取子单元,用于当所述Jenkins工具中未安装所述目标Jenkins插件时,根据所述目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取所述目标Jenkins插件,并安装所述目标Jenkins插件;第一确定子单元,用于当所述Jenkins工具中安装有所述目标Jenkins插件时,确定所述当前***环境中安装有所述目标软件和目标Jenkins插件。
在第二方面的又一种可能的实现方式中,所述任务生成单元,包括:任务生成子单元,用于根据所述任务定义创建或更新所述构建任务;挂载子单元,用于将所述目标***资源挂载到Jenkins主机上,以运行所述构建任务。
在第二方面的又一种可能的实现方式中,还包括:监测单元,用于监测所述Jenkins工具的运行状态,以及,监测所述当前操作***的运行状态;报警单元,用于当所述当前操作***的运行状态存在异常时,产生告警信息;重新挂载单元,用于当所述Jenkins工具的运行状态是所述目标***资源掉线时,重新将所述目标***资源挂载到Jenkins主机上。
在第二方面的又一种可能的实现方式中,还包括:配置文件生成单元,用于将已创建构建任务转换为所述已创建构建任务对应的初始构建任务配置文件,所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有程序指令,所述处理器通过执行所述存储器中的存储指令实现第一方面的任意一种可能的实现方式所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面的任意一种可能的实现方式所述的方法。
第五方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的任意一种可能的实现方式所述的方法。
本申请实施例提供的基于Jenkins工具的软件项目构建任务配置方法,由开发人员编写软件项目的构建任务配置文件,然后,根据该构建任务配置文件自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,根据构建任务配置文件中的任务定义自动创建Jenkins构建任务。用户只需维护构建任务配置文件,其它过程均由***自动解析构建任务配置文件自动进行构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高;而且,用户只需要维护构建任务配置文件,维护成本低。
附图说明
图1是本申请实施例一种Jenkins***的构架示意图;
图2是本申请实施例一种基于Jenkins的软件项目构建任务配置方法的流程图;
图3是本申请实施例一种基于Jenkins的软件项目构建任务配置装置的框图;
图4是本申请实施例另一种基于Jenkins的软件项目构建任务配置装置的框图;
图5是本申请实施例又一种基于Jenkins工具的软件工程配置装置的框图;
图6是本申请实施例一种计算机设备的框图。
具体实施方式
传统的Jenkins构建任务方案每个步骤都需要开发人员手动在Jenkins的图形化界面上进行配置,操作繁琐、效率低。本申请提供的基于Jenkins工具的软件项目构建任务配置方法,由开发人员为软件项目编写相应的构建任务配置文件,然后,Jenkins工具能够根据该构建任务配置文件自行配置该构建任务所依赖的***资源;根据该构建任务配置文件自行安装构建任务所依赖的操作***软件和Jenkins插件,最后,根据构建任务配置文件中的任务定义自动创建构建任务。构建任务的创建过程都是自动完成,用户不需要在图形化界面上进行任何操作,操作简单、效率高。而且,用户只需要维护构建任务配置文件,维护成本低。
请参见图1,示出了本申请实施例一种Jenkins***的构架示意图。如图1所示,该***包括:代码仓库、管理工具、监控告警服务、资源管理服务、依赖管理服务、工程任务管理服务、工程导入服务和Jenkins集群;
Jenkins集群包括多个Jenkins master和多个Jenkins slave。Jenkins master用于管理各个Jenkins slave,各个Jenkins slave用于执行构建任务的创建及运行工作。
其中,监控告警服务、资源管理服务、依赖管理服务、工程任务管理服务、工程导入服务是为了描述方便而定义的软件服务名称。在本申请的其他实施例中也可以不定义服务名称。
代码仓库用于存储开发人员提交的软件项目的代码,以及软件项目对应的构建任务配置文件。本申请的核心是软件项目的构建任务配置文件,构建任务配置文件定义了构建工程依赖的***资源、依赖关系和任务定义。
构建工程依赖的***资源包括依赖的机器类型,例如,虚拟机、容器、裸机、物理机;镜像名称或容器名称,例如,centos7.1,suse 11sp3,也可以是自定义的镜像等。例如,机器的规格可以是:高IO、计算密集型,4U8G(即,CPU有4个内核、内存是8G)等。本文中的镜像是指操作***镜像。
依赖关系,是指构建任务所依赖的操作***软件和Jenkins插件,需要分别定义软件的名称和版本号,Jenkins插件的名称和版本号。
任务定义是构建任务的核心部分,定义了构建任务的步骤、触发时间等。
监控告警服务主要负责监控代码仓库中的代码变化情况,当代码仓库的代码有变化时,将发生变化的软件项目对应的构建任务配置文件注入到Jenkins中,创建或更新构建任务。
监控告警服务还实时监测构建任务的运行状态和Jenkins的当前***的运行状态,一旦发现构建任务的运行状态、当前***的磁盘状态、CPU状态、IO状态就会产生告警,如果发现运行构建任务的Jenkins slave节点掉线,通知管理工具的资源管理服务重新挂载Jenkins slave节点。
资源管理服务主要负责创建用户运行构建任务所需的机器。
依赖管理服务主要负责根据构建任务配置文件中的依赖关系,安装构建任务所依赖的软件和Jenkins插件。
工程任务管理服务主要负责将任务运行所需的机器挂载到Jenkins master节点上,并且将构建任务配置文件中的工程注入到Jenkins中,生成Jenkins任务。
工程导入服务主要是将***中已有的Jenkins任务转换为构建任务配置文件,工程导入服务能够识别当前***中安装的操作***软件及Jenkins插件,以及将Jenkins中的构建任务步骤转换成构建任务配置文件中的任务定义。该服务应用于以下场景:已经利用传统的Jenkins工具创建了构建任务,然后,将已构建任务导入本申请提供的改进后的Jenkins中。
请参见图2,示出了本申请实施例一种基于Jenkins工具的软件项目构建任务配置方法的流程图,本实施例结合图1所示的Jenkins***构架详细说明软件项目的构建任务自动化创建过程。
S110,监控告警服务监听代码仓库中目标软件项目对应的构建任务配置文件是否有变化;如果是,则执行S120;如果否,则结束当前流程。
目标软件项目是指任意一个软件项目。代码仓库中包含软件项目的软件代码和构建任务配置文件,当构建任务配置文件发生变化时,才触发执行本申请的方法流程。
软件项目的开发人员自己根据软件项目的需求编写构建任务配置文件,该文件中指定依赖的***资源、依赖关系及构建任务的任务定义。然后,将构建任务配置文件存储到代码仓库中。
当用户在代码仓库中合入新的代码或构建任务配置文件时,监控告警服务能够监测到该合入事件。其中,监控告警服务可以按照预设时间间隔(例如,30s)检测代码仓库中的代码是否有变化。
S120,管理工具获取目标软件项目对应的目标构建任务配置文件。
当监控告警服务监测到代码仓库有变化后,通知管理下载软件代码和构建任务配置文件,并判断发生变化的部分。
在本申请的一种实现方式中,管理工具从服务器中下载该目标软件项目的全部软件代码和构建任务配置文件,并与本地存储的软件代码及构建任务配置文件分别进行比较,最终得到有变化的部分。
在本申请的另一种实现方式中,管理工具可以通过接口向服务器请求变化的部分,进而可以将发生变化的部分下载到本地。
例如,构建任务配置文件发生变化包括以下两种情况:新增目标软件项目对应的构建任务配置文件,或更新目标软件项目对应的构建任务配置文件。
S130,管理工具根据代码仓库中最新的目标构建任务配置文件,解析得到依赖关系、目标***资源和任务定义。管理工具将目标***资源发送给资源管理服务,将依赖关系发送给依赖管理服务,将任务定义发送给工程任务管理服务。
S140,资源管理服务检查当前***中是否存在目标***资源,如果不存在,则执行S150;如果存在,则执行S160。
在本申请的一个实施例中,资源管理服务首先查看当前***环境中是否存在指定的目标***资源,如果存在指定规格、指定镜像的***资源,还要进一步查看这些资源是否够用(判断***中的指定规格、指定镜像的***资源是否与构建任务配置文件中指定的目标***资源相匹配,例如,指定磁盘的容量是100G,则判断***中可用的资源是否不小于100G),如果不够用,则确定不存在目标***资源。如果指定规格、指定镜像的***资源够用,则确定当前***环境中存在目标***资源。
S150,资源管理服务创建该目标***资源。
例如,自动创建指定规格、指定镜像的虚拟机,并将创建的虚拟机挂载到Jenkins主机上。
构建任务配置文件中指定的***资源包括:所需的机器类型(例如,虚拟机、容器、裸机、物理机)、所依赖的操作***、机器规格等。
需要说明的是,S140和S150两个步骤所实现的过程即配置与目标***资源相匹配的***资源的过程。
创建完成的目标***资源就是Jenkins集群中的Jenkins slave节点,换言之,本文中的目标***资源就是Jenkins slave节点。
S160,依赖管理服务根据依赖关系,检查当前操作***中是否安装了构建任务所依赖的目标软件;如果已经安装,则执行S180;如果未安装,则执行S170;
当前***环境包括操作***和Jenkins工具,其中,检测当前***环境中是否配置有目标软件和目标Jenkins插件的过程包括:检测当前操作***中是否安装有目标软件,以及,检测Jenkins工具中是否安装有目标Jenkins插件。
S170,依赖管理服务根据目标构建任务配置文件中包含的目标软件的下载地址获取该目标软件,并安装该目标软件。
Jenkins***的应用场景不同,对应下载地址也不同;例如,Jenkins***安装在某个局域网中,则将Jenkins所依赖的软件从该软件对应官方软件仓库下载到该局域网中,而且,该下载地址是该局域网中存放该目标软件的路径。
例如,Jenkins***所在的***能够直接连接软件的官方软件仓库,此种应用场景下,目标软件的下载地址就是该目标软件对应的官方软件仓库的链接。
S180,依赖管理服务检查当前Jenkins工具中是否安装有目标Jenkins插件;如果未安装,则执行S190;如果已安装,则执行S200。
此步骤是检测Jenkins工具中是否安装有目标Jenkins插件。
S190,依赖管理服务根据目标构建任务配置文件中包含的Jenkins插件的下载地址获取目标Jenkins插件,并安装该目标Jenkins插件。
S160~S190所实现的过程是根据所述依赖关系,在当前***环境中配置构建任务所依赖的目标软件和目标Jenkins插件的过程。
S200,工程任务管理服务将目标***资源挂载到Jenkins master上。
目标***资源其实就是图1中的Jenkins slave节点,将目标***资源挂载到Jenkins主机上就是建立Jenkins slave节点与Jenkins master节点之间的通讯连接。
在本申请的一个实施例中,可以在创建好Jenkins slave节点后就立即将该Jenkins slave节点挂载到Jenkins master上;在本申请的另一个实施例中,可以在创建或更新构建任务之后,再将运行该构建任务的Jenkins slave节点挂载到Jenkins master上。
S210,工程管理任务根据目标构建任务配置文件中的任务定义创建构建任务。
工程管理任务将任务定义注入到Jenkins中,生成构建任务,该过程不会中断现有的业务,即不需要关掉Jenkins。
S200和S210所实现的过程是根据任务定义生成构建任务过程。
可选地,本实施例提供的基于Jenkins工具的软件工程配置方法还可以包括以下步骤:
S220,监控告警服务监测Jenkins的运行状态,以及,监测当前操作***的运行状态;
当前操作***的运行状态包括磁盘状态、CPU状态、IO状态等。Jenkins的运行状态是指运行构建任务的Jenkins slave节点的运行状态。
监控告警服务通过工程管理服务提供的接口服务实时监测构建任务和Jenkins的状态。
S230,当所述当前操作***的运行状态存在异常时,产生告警信息。
监控告警服务一旦发现当前操作***的运行状态、磁盘状态、CPU状态、IO状态有异常就会产生告警信息,并在图形化界面上向用户展示该告警信息;例如,磁盘容量低于预设值、CPU占用率高于某个预设值、IO占用率高于某个设定值等异常。
S240,当运行该构建任务的Jenkins slave节点掉线时,资源管理服务重新将该Jenkins slave节点挂载到Jenkins master上。
如果监控告警服务监测到运行构建任务的Jenkins slave节点掉线后,通知资源管理服务重新挂载该节点。
此外,对于已经在传统的Jenkins工具中创建的构建任务,本申请提供的方法还可以根据已经创建的构建任务转换成对应的初始构建任务配置文件。具体的,可以根据已经创建的构建任务获得相应的任务定义。以及,获取当前***环境中安装的所有软件,以及,Jenkins工具中安装的所有Jenkins插件。用户可以在该初始构建任务配置文件的基础上编写得到已创建构建任务对应的最终的构建任务配置文件,从而减轻了软件开发人员的负担。
本实施例提供的基于Jenkins工具的软件工程配置方法,由开发人员编写软件项目的构建任务配置文件,然后,根据该构建任务配置文件自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,自动创建Jenkins构建任务。整个过程均由***自动解析构建任务配置文件自动完成构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高;而且,用户只需根据自己的需求定义和维护自己项目相关的部分配置文件,无需关心其他额外东西,降低用户使用和学习成本和维护成本。
此外,需要说明的是,构建任务备份就是备份构建任务配置文件,只需要备份有更新部分的内容,即增量备份。然后,根据备份重建构建任务的过程就是根据构建任务配置文件创建构建任务的过程。
构建任务迁移就是将构建任务迁移到另一个Jenkins slave节点上,迁移过程就是根据构建任务配置文件重新创建构建任务的过程。
可见,构建任务的备份和迁移过程就是构建任务的创建过程相同,此处不再赘述。
构建任务的备份和迁移过程同样不需要用户在图形化界面上手动操作,实现了自动化备份与迁移。而且,备份和迁移过程不需要关掉业务,实现在线备份和迁移。将构建任务迁移到新的运行节点后,能够自动将新的运行节点挂载到Jenkins master上,效率高。
相应于上述的基于Jenkins工具的软件工程配置方法实施例,本申请还提供了基于Jenkins工具的软件工程配置装置实施例。
请参见图3,示出了本申请实施例一种基于Jenkins工具的软件工程配置装置的框图,该装置应用于安装有Jenkins工具的***中,如图3所示,该装置可以包括:第一获取单元310、解析单元320、第一配置单元330、第二配置单元340和任务生成单元350。
第一获取单元310,用于当监测到目标软件项目的代码仓库的代码变化时,获取目标软件项目对应的目标构建任务配置文件。
软件项目的开发人员自己根据软件项目的需求编写构建任务配置文件,该文件中指定依赖的***资源、依赖关系及构建任务的任务定义。然后,将构建任务配置文件存储到代码仓库中。该装置会按照预设时间间隔检测代码仓库中的代码是否有变化。
解析单元320,用于解析目标构建任务配置文件获得构建任务所需的目标***资源、依赖关系和任务定义。
所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机。
所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件。
所述任务定义用于定义所述构建任务的构建步骤和触发时间。
第一配置单元330,用于配置与目标***资源相匹配的***资源。
在本申请的一个实施例中,该第一配置单元包括第一查找子单元和创建子单元。
该第一查找子单元,用于查找当前***环境中是否存在目标***资源;若当前***环境中存在目标***资源,则由第二配置单元继续执行相应的步骤。
该创建子单元,用于若当前***环境中不存在目标***资源,则创建目标***资源。
第二配置单元340,用于根据依赖关系,在当前***环境中配置构建任务所依赖的目标软件和目标Jenkins插件。
在本申请的一个实施例中,第二配置单元包括第二查找子单元、第一获取子单元、第三查找子单元、第二获取子单元和第一确定子单元;
该第二查找子单元,用于查找当前操作***中是否安装有目标软件。
该第一获取子单元,用于在当前操作***中未安装目标软件时,根据目标构建任务配置文件中包含的目标软件的下载地址获取目标软件,并安装目标软件。
该第三查找子单元,用于在当前操作***中安装有目标软件时,继续查找Jenkins工具中是否安装有目标Jenkins插件。
该第二获取子单元,用于在当前操作***中未安装目标Jenkins插件时,根据目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取目标Jenkins插件,并安装目标Jenkins插件。
该第一确定子单元,用于在当前操作***中安装有目标Jenkins插件时,确定当前***环境中安装有目标软件和目标Jenkins插件。
任务生成单元350,用于根据任务定义生成构建任务。
在本申请的一个实施例中,任务生成单元包括任务生成子单元和挂载子单元;
该任务生成子单元,用于根据任务定义创建或更新所述构建任务。
该挂载子单元,用于将目标***资源挂载到Jenkins主机上,以运行所述构建任务。
目标***资源其实就是图1中的Jenkins slave节点,将目标***资源挂载到Jenkins主机上就是建立Jenkins slave节点与Jenkins master节点之间的通讯连接,以使Jenkins slave节点运行构建任务。
本实施例提供的基于Jenkins工具的软件工程配置装置,由开发人员编写软件项目的构建任务配置文件,Jenkins工具能够根据该构建任务配置文件自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,自动创建Jenkins构建任务。整个过程均由***自动解析构建任务配置文件自动完成构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高;而且,用户只需根据自己的需求定义和维护自己项目相关的部分配置文件,无需关心其他额外东西,降低用户使用和学习成本和维护成本。
请参见图4,示出了本申请实施例另一种基于Jenkins工具的软件工程配置装置的框图,该装置在图3所示实施例的基础上,还包括:监测单元410、报警单元420和重新挂载单元430。
监测单元410,用于监测Jenkins工具的运行状态,以及,监测当前操作***的运行状态。
报警单元420,用于当所述当前操作***的运行状态存在异常时,产生告警信息。
重新挂载单元430,用于当所述Jenkins工具的运行状态是目标***资源掉线时,重新将目标***资源挂载到Jenkins主机上。
本实施例提供的基于Jenkins工具的软件工程配置装置,可以实时监控Jenkins工具及操作***的运行状态,当操作***的运行状态出现异常时,会产生告警信息,并在图形化界面上向用户展示该告警信息,以使用户及时发现并处理异常。当Jenkins工具的运行状态是运行当前构建任务的Jenkins slave节点掉线时,重新将该Jenkins slave节点挂载到Jenkins master上,以便继续运行当前构建任务。
请参见图5,示出了本申请实施例又一种基于Jenkins工具的软件工程配置装置的框图,该装置在图3所示实施例的基础上还包括:配置文件生成单元510。
配置文件生成单元510,用于将已创建构建任务转换为对应的初始构建任务配置文件。
所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
该配置文件生成单元可以根据已经创建的构建任务获得相应的任务定义;以及,获取当前***环境中安装的所有软件,以及,Jenkins工具中安装的所有Jenkins插件。用户可以在该初始构建任务配置文件的基础上编写得到已创建构建任务对应的最终的构建任务配置文件,从而减轻了软件开发人员的负担。
相应于上述的基于Jenkins工具的软件工程配置方法实施例,本申请还提供了一种计算机设备。
请参见图6,示出了本申请实施例一种计算机设备的框图,该设备可以是服务器或者计算机终端,该设备安装有Jenkins工具软件,如图6所示,该设备包括处理器610和存储器620;
所述存储器620中存储有程序指令,所述处理器610通过执行存储器620中的存储指令实现以下功能步骤:
当监测到目标软件项目的代码仓库的代码变化时,获取所述目标软件项目对应的目标构建任务配置文件;
解析所述目标构建任务配置文件获得所述构建任务所需的目标***资源、依赖关系和任务定义,所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机;所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件;所述任务定义用于定义所述构建任务的构建步骤和触发时间;
配置与所述目标***资源相匹配的***资源;
根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的目标软件和目标Jenkins插件;
根据所述任务定义生成构建任务。
在本申请一种可能的实现方式中,所述配置与所述目标***资源相匹配的***资源,包括:
查找所述当前***环境中是否存在所述目标***资源;
如果所述当前***环境中存在所述目标***资源,则执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤;
如果所述当前***环境中不存在所述目标***资源,则创建所述目标***资源,然后执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤。
在本申请另一种可能的实现方式中,所述根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件,包括:
查找当前操作***中是否安装有所述目标软件;
如果所述当前操作***中未安装所述目标软件,则根据所述目标构建任务配置文件中包含的所述目标软件的下载地址获取所述目标软件,并安装所述目标软件;
如果所述当前操作***中安装有所述目标软件,则继续查找所述Jenkins工具中是否安装有所述目标Jenkins插件;
如果所述Jenkins工具中未安装所述目标Jenkins插件,则根据所述目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取所述目标Jenkins插件,并安装所述目标Jenkins插件;
如果所述Jenkins工具中安装有所述目标Jenkins插件,则确定所述当前***环境中安装有所述目标软件和所述目标Jenkins插件。
在本申请又一种可能的实现方式中,所述根据所述任务定义生成构建任务,包括:
根据所述任务定义创建或更新所述构建任务;
将所述目标***资源挂载到Jenkins主机上,以运行所述构建任务。
在本申请再一种可能的实现方式中,还包括:
监测所述Jenkins工具的运行状态,以及,监测所述当前操作***的运行状态;
当所述当前操作***的运行状态存在异常时,产生告警信息;
当所述Jenkins工具的运行状态是所述目标***资源掉线时,重新将所述目标***资源挂载到Jenkins主机上。
在本申请另一种可能的实现方式中,还包括:
将已创建构建任务转换为所述已创建构建任务对应的初始构建任务配置文件,所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
本实施例提供的计算机设备,根据软件开发人员编写的软件项目的构建任务配置文件,自动配置运行构建任务所需的***资源(即,***环境),并自动将该***资源挂载到Jenkins主机上。以及,根据构建任务配置文件中的依赖关系,自动配置构建任务所依赖的软件和Jenkins插件,最后,根据构建任务配置文件中的任务定义自动创建Jenkins构建任务。用户只需维护构建任务配置文件,其它过程均由***自动解析构建任务配置文件自动进行构建任务的配置和创建,无需用户在图形化界面上进行操作,操作简单、效率高;而且,用户只需要维护构建任务配置文件,维护成本低。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者,半导体介质(例如,固态硬盘Solid State Disk(SSD))等。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (12)

1.一种基于Jenkins工具的软件工程配置方法,其特征在于,包括:
当监测到目标软件项目的代码仓库的代码变化时,获取所述目标软件项目对应的目标构建任务配置文件;
解析所述目标构建任务配置文件获得所述构建任务所需的目标***资源、依赖关系和任务定义,所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机;所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件;所述任务定义用于定义所述构建任务的构建步骤和触发时间;
配置与所述目标***资源相匹配的***资源;
根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的目标软件和目标Jenkins插件;
根据所述任务定义生成构建任务。
2.根据权利要求1所述的方法,其特征在于,所述配置与所述目标***资源相匹配的***资源,包括:
查找所述当前***环境中是否存在所述目标***资源;
如果所述当前***环境中存在所述目标***资源,则执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤;
如果所述当前***环境中不存在所述目标***资源,则创建所述目标***资源,然后执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件的步骤。
3.根据权利要求1所述的方法,其特征在于,所述根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件,包括:
查找当前操作***中是否安装有所述目标软件;
如果所述当前操作***中未安装所述目标软件,则根据所述目标构建任务配置文件中包含的所述目标软件的下载地址获取所述目标软件,并安装所述目标软件;
如果所述当前操作***中安装有所述目标软件,则继续查找所述Jenkins工具中是否安装有所述目标Jenkins插件;
如果所述Jenkins工具中未安装所述目标Jenkins插件,则根据所述目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取所述目标Jenkins插件,并安装所述目标Jenkins插件;
如果所述Jenkins工具中安装有所述目标Jenkins插件,则确定所述当前***环境中安装有所述目标软件和所述目标Jenkins插件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述任务定义生成构建任务,包括:
根据所述任务定义创建或更新所述构建任务;
将所述目标***资源挂载到Jenkins主机上,以运行所述构建任务。
5.根据权利要求1所述的方法,其特征在于,还包括:
监测所述Jenkins工具的运行状态,以及,监测所述当前操作***的运行状态;
当所述当前操作***的运行状态存在异常时,产生告警信息;
当所述Jenkins工具的运行状态是所述目标***资源掉线时,重新将所述目标***资源挂载到Jenkins主机上。
6.根据权利要求1所述的方法,其特征在于,还包括:
将已创建构建任务转换为所述已创建构建任务对应的初始构建任务配置文件,所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
7.一种基于Jenkins工具的软件工程配置装置,其特征在于,包括:
第一获取单元,用于当监测到目标软件项目的代码仓库的代码变化时,获取所述目标软件项目对应的目标构建任务配置文件;
解析单元,用于解析所述目标构建任务配置文件获得所述构建任务所需的目标***资源、依赖关系和任务定义,所述目标***资源包括:所述构建任务所依赖的机器类型、机器规格和所依赖操作***,所述机器类型包括虚拟机、容器、裸机或物理机;所述依赖关系用于说明所述构建任务所依赖的软件和Jenkins插件;所述任务定义用于定义所述构建任务的构建步骤和触发时间;
第一配置单元,用于配置与所述目标***资源相匹配的***资源;
第二配置单元,用于根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的目标软件和目标Jenkins插件;
任务生成单元,用于根据所述任务定义生成构建任务。
8.根据权利要求7所述的装置,其特征在于,所述第一配置单元包括:
第一查找子单元,用于查找当前***环境中是否存在所述目标***资源;当所述当前***环境中存在所述目标***资源时,由所述第二配置单元执行根据所述依赖关系,在当前***环境中配置所述构建任务所依赖的软件和Jenkins插件;
创建子单元,用于当所述当前***环境中不存在所述目标***资源,则创建所述目标***资源。
9.根据权利要求7所述的装置,其特征在于,所述第二配置单元包括:
第二查找子单元,用于查找当前操作***中是否安装有所述构建任务所依赖的目标软件;
第一获取子单元,用于当所述当前操作***中未安装所述目标软件时,根据所述目标构建任务配置文件中包含的所述目标软件的下载地址获取所述目标软件,并安装所述目标软件;
第三查找子单元,用于当所述当前操作***中安装有所述目标软件时,继续查找所述Jenkins工具中是否安装有所述目标Jenkins插件;
第二获取子单元,用于当所述Jenkins工具中未安装所述目标Jenkins插件时,根据所述目标构建任务配置文件中包含的目标Jenkins插件的下载地址获取所述目标Jenkins插件,并安装所述目标Jenkins插件;
第一确定子单元,用于当所述Jenkins工具中安装有所述目标Jenkins插件时,确定所述当前***环境中安装有所述目标软件和目标Jenkins插件。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述任务生成单元,包括:
任务生成子单元,用于根据所述任务定义创建或更新所述构建任务;
挂载子单元,用于将所述目标***资源挂载到Jenkins主机上,以运行所述构建任务。
11.根据权利要求7所述的装置,其特征在于,还包括:
监测单元,用于监测所述Jenkins工具的运行状态,以及,监测所述当前操作***的运行状态;
报警单元,用于当所述当前操作***的运行状态存在异常时,产生告警信息;
重新挂载单元,用于当所述Jenkins工具的运行状态是所述目标***资源掉线时,重新将所述目标***资源挂载到Jenkins主机上。
12.根据权利要求7所述的装置,其特征在于,还包括:
配置文件生成单元,用于将已创建构建任务转换为所述已创建构建任务对应的初始构建任务配置文件,所述初始构建任务配置文件包括所述已创建任务对应的任务定义,以及,当前***环境中的***资源和软件资源。
CN201710773700.8A 2017-08-31 2017-08-31 基于Jenkins工具的软件项目构建任务配置方法及装置 Active CN107608710B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710773700.8A CN107608710B (zh) 2017-08-31 2017-08-31 基于Jenkins工具的软件项目构建任务配置方法及装置
PCT/CN2018/102918 WO2019042311A1 (zh) 2017-08-31 2018-08-29 基于Jenkins工具的软件项目构建任务配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710773700.8A CN107608710B (zh) 2017-08-31 2017-08-31 基于Jenkins工具的软件项目构建任务配置方法及装置

Publications (2)

Publication Number Publication Date
CN107608710A true CN107608710A (zh) 2018-01-19
CN107608710B CN107608710B (zh) 2021-08-31

Family

ID=61056757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710773700.8A Active CN107608710B (zh) 2017-08-31 2017-08-31 基于Jenkins工具的软件项目构建任务配置方法及装置

Country Status (2)

Country Link
CN (1) CN107608710B (zh)
WO (1) WO2019042311A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN108958843A (zh) * 2018-07-12 2018-12-07 成都数字天空科技有限公司 基于轻量化脚本的插件构建方法、***、设备及介质
WO2019042311A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 基于Jenkins工具的软件项目构建任务配置方法及装置
CN109871258A (zh) * 2019-01-17 2019-06-11 珠海金山网络游戏科技有限公司 基于分布式容器的修改主机配置的方法及装置
CN110096304A (zh) * 2019-03-16 2019-08-06 平安城市建设科技(深圳)有限公司 基于Jenkins的任务构建方法、装置、设备及存储介质
CN110286880A (zh) * 2019-06-17 2019-09-27 中国科学院软件研究所 一种面向GitHub与Travis CI的完整持续集成数据收集方法
CN110515625A (zh) * 2019-08-02 2019-11-29 苏州浪潮智能科技有限公司 任务构建方法、装置、设备及计算机可读存储介质
CN110888652A (zh) * 2019-10-24 2020-03-17 福建天泉教育科技有限公司 基于jenkins插件的多版本构建方法及终端
CN110895460A (zh) * 2018-09-13 2020-03-20 深圳市优必选科技有限公司 基于Jenkins的机器人***集成方法、装置及终端设备
CN110955415A (zh) * 2019-12-03 2020-04-03 杭州当贝网络科技有限公司 一种投影多平台服务适配的方法
CN111144839A (zh) * 2019-12-17 2020-05-12 深圳市优必选科技股份有限公司 一种项目构建方法、持续集成***及终端设备
CN111414226A (zh) * 2019-01-07 2020-07-14 北京智融网络科技有限公司 一种任务沙箱的建立方法和***
CN112148462A (zh) * 2020-10-20 2020-12-29 上海新炬网络信息技术股份有限公司 基于Jenkins的CICD流程的处理方法
CN114650213A (zh) * 2020-12-18 2022-06-21 航天信息股份有限公司 配置Jenkins服务器集群的方法、装置、存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274041A (zh) * 2020-02-24 2020-06-12 北京达佳互联信息技术有限公司 图形处理器挂载方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040469A1 (en) * 2000-06-03 2002-04-04 International Business Machines Corporation System and method for the configuration of software products
CN103207802A (zh) * 2012-01-12 2013-07-17 上海盛霄云计算技术有限公司 软件操作***及方法
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和***
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的***及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549148B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Self-describing software image update components
CN101515232A (zh) * 2008-02-21 2009-08-26 卓望数码技术(深圳)有限公司 一种软件持续集成***及方法
CN105739966A (zh) * 2016-01-19 2016-07-06 浪潮软件集团有限公司 一种持续集成的方法及装置
CN106815052A (zh) * 2017-01-10 2017-06-09 南威软件股份有限公司 一种适配多环境配置的快速部署***的方法
CN107608710B (zh) * 2017-08-31 2021-08-31 华为技术有限公司 基于Jenkins工具的软件项目构建任务配置方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040469A1 (en) * 2000-06-03 2002-04-04 International Business Machines Corporation System and method for the configuration of software products
CN103207802A (zh) * 2012-01-12 2013-07-17 上海盛霄云计算技术有限公司 软件操作***及方法
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和***
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CYRILLE: ""jenkinsci/system-config-dsl-plugin", 《HTTPS://GITHUB.COM/JENKINSCI/SYSTEM-CONFIG-DSL-PLUGIN》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019042311A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 基于Jenkins工具的软件项目构建任务配置方法及装置
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN108958843A (zh) * 2018-07-12 2018-12-07 成都数字天空科技有限公司 基于轻量化脚本的插件构建方法、***、设备及介质
CN110895460A (zh) * 2018-09-13 2020-03-20 深圳市优必选科技有限公司 基于Jenkins的机器人***集成方法、装置及终端设备
CN111414226A (zh) * 2019-01-07 2020-07-14 北京智融网络科技有限公司 一种任务沙箱的建立方法和***
CN109871258A (zh) * 2019-01-17 2019-06-11 珠海金山网络游戏科技有限公司 基于分布式容器的修改主机配置的方法及装置
CN110096304A (zh) * 2019-03-16 2019-08-06 平安城市建设科技(深圳)有限公司 基于Jenkins的任务构建方法、装置、设备及存储介质
CN110286880A (zh) * 2019-06-17 2019-09-27 中国科学院软件研究所 一种面向GitHub与Travis CI的完整持续集成数据收集方法
CN110286880B (zh) * 2019-06-17 2020-12-01 中国科学院软件研究所 一种面向GitHub与Travis CI的完整持续集成数据收集方法
CN110515625A (zh) * 2019-08-02 2019-11-29 苏州浪潮智能科技有限公司 任务构建方法、装置、设备及计算机可读存储介质
CN110888652A (zh) * 2019-10-24 2020-03-17 福建天泉教育科技有限公司 基于jenkins插件的多版本构建方法及终端
CN110888652B (zh) * 2019-10-24 2023-07-07 福建天泉教育科技有限公司 基于jenkins插件的多版本构建方法及终端
CN110955415A (zh) * 2019-12-03 2020-04-03 杭州当贝网络科技有限公司 一种投影多平台服务适配的方法
CN110955415B (zh) * 2019-12-03 2024-03-08 杭州当贝网络科技有限公司 一种投影多平台服务适配的方法
CN111144839A (zh) * 2019-12-17 2020-05-12 深圳市优必选科技股份有限公司 一种项目构建方法、持续集成***及终端设备
CN111144839B (zh) * 2019-12-17 2024-02-02 深圳市优必选科技股份有限公司 一种项目构建方法、持续集成***及终端设备
CN112148462A (zh) * 2020-10-20 2020-12-29 上海新炬网络信息技术股份有限公司 基于Jenkins的CICD流程的处理方法
CN112148462B (zh) * 2020-10-20 2023-03-28 上海新炬网络信息技术股份有限公司 基于Jenkins的CICD流程的处理方法
CN114650213A (zh) * 2020-12-18 2022-06-21 航天信息股份有限公司 配置Jenkins服务器集群的方法、装置、存储介质

Also Published As

Publication number Publication date
WO2019042311A1 (zh) 2019-03-07
CN107608710B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN107608710A (zh) 基于Jenkins工具的软件项目构建任务配置方法及装置
CN105706469B (zh) 管理机器对机器设备
US11698782B2 (en) Determining customized software recommendations for network devices
US7661088B2 (en) Systems and methods to efficiently and automatically effect population of custom controls onto a visual designer toolbox
US10860406B2 (en) Information processing device and monitoring method
US9246777B2 (en) Computer program and monitoring apparatus
US20120066667A1 (en) Simulation environment for distributed programs
EP3462315A2 (en) Systems and methods for service mapping
US20130086066A1 (en) Automated discovery and generation of hierarchies for building automation and control network objects
US10516734B2 (en) Computer servers for datacenter management
JP2019192158A (ja) ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法
CN113778486B (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
US20110179419A1 (en) Dependency on a resource type
US8370800B2 (en) Determining application distribution based on application state tracking information
CN112162761A (zh) 自动化部署项目至公有云容器化平台的方法、***及设备
US20130282908A1 (en) Method and System for Deploying and Modifying a Service-Oriented Architecture Deployment Environment
CN111666079B (zh) 软件升级的方法、装置、***、设备和计算机可读介质
US20080010315A1 (en) Platform management of high-availability computer systems
CN111552494B (zh) 一种容器组的管理方法、设备、***及介质
US20210281480A1 (en) Defining and implementing an ephemeral configuration state for a network device
JP2009169863A (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
CN114816969A (zh) 测试用例的生成方法、装置、设备及存储介质
Kos et al. nodewatcher: A substrate for growing your own community network
CN112286441A (zh) 提供视觉表示的方法、设备和计算机介质
US11159358B2 (en) Sentry for information technology system blueprints

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.