CN114791826A - 基于参数配置的Jenkins项目运行方法及装置 - Google Patents

基于参数配置的Jenkins项目运行方法及装置 Download PDF

Info

Publication number
CN114791826A
CN114791826A CN202210383725.8A CN202210383725A CN114791826A CN 114791826 A CN114791826 A CN 114791826A CN 202210383725 A CN202210383725 A CN 202210383725A CN 114791826 A CN114791826 A CN 114791826A
Authority
CN
China
Prior art keywords
name
hash table
configuration
groovy
parameter
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
CN202210383725.8A
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.)
Yima Innovation Network Tianjin Co ltd
Original Assignee
Yima Innovation Network Tianjin 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 Yima Innovation Network Tianjin Co ltd filed Critical Yima Innovation Network Tianjin Co ltd
Priority to CN202210383725.8A priority Critical patent/CN114791826A/zh
Publication of CN114791826A publication Critical patent/CN114791826A/zh
Pending legal-status Critical Current

Links

Images

Classifications

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

Abstract

本发明提供了一种基于参数配置的Jenkins项目运行方法及装置,所述运行方法首先根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;然后通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。本发明通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。

Description

基于参数配置的Jenkins项目运行方法及装置
技术领域
本发明涉及软件开发领域,尤其涉及一种基于参数配置的Jenkins项目运行方法、装置、电子设备及存储介质。
背景技术
在现有的jenkins流程启动参数中,大多都包含项目名称,源代码地址和编译命令等参数,进而导致不同的项目有不同的源代码地址和编译命令,最终会导致jenkins流程数目随着项目增加而越来越多,不便于管理。
发明内容
本发明提供了一种基于参数配置的Jenkins项目运行方法、装置、电子设备及存储介质;通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。
第一方面,本发明实施例提供了一种基于参数配置的Jenkins项目运行方法,所述运行方法包括:
根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;
通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。
可选地,根据预设方法在Jenkins Job的配置页面配置参数包括:
获取预先配置的Groovy参数哈希表并将所述Groovy参数哈希表中的内容输入到“Prepare an environment for the run”配置项的Groovy Script输入框内;
为所述Groovy参数哈希表中源码地址哈希表设置返回值git_url,为所述Groovy参数哈希表中daemonset name哈希表设置返回值daemonset_name,为所述Groovy参数哈希表中docker打包git配置分支名称哈希表设置返回值project_git_template。
可选地,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称包括:
将“Git”配置中的“Repositories”配置的“Repository URL”设置为http://githost.com$git_url;
所述http://githost.com$git_url中的$git_url从所述源码地址哈希表中获取源码地址。
可选地,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称包括:
将“Git”配置中的“Branches to build”配置的“Branch Specifier(blank for'any')”设置为$project_git_template;
所述$project_git_template从所述docker打包配置git分支名称哈希表中获取分支名称。
可选地,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称包括:
在“Command”配置中添加k8sapi部署脚本;
根据所述daemonset name哈希表的返回值daemonset_name从所述daemonsetname哈希表中获取daemonset name作为所述k8sapi部署脚本的daemonset name。
可选地,所述运行方法还包括:
运行新项目,具体包括:
获取新项目的源码地址、ds_name、git分支名称和项目名称;
将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonset name哈希表,将所述git分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Active Choises Parameter”配置项的project的Script选项中。
第二方面,本发明的实施例提供了一种基于参数配置的Jenkins项目运行装置,所述运行装置包括:
参数配置模块,根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;
解析模块,通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。
可选地,所述运行装置还包括:
新项目参数配置模块,获取新项目的项目名称、源码地址、ds_name和git分支名称后将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonsetname哈希表,将所述git分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Active Choises Parameter”配置项的project的Script选项中。
第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的方法。
第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
有益效果
本发明提供了一种基于参数配置的Jenkins项目运行方法、装置、电子设备及存储介质,所述运行方法首先根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;然后通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。本发明通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。
图1示出了本发明实施例的一种基于参数配置的Jenkins项目运行方法的流程图;
图2示出了本发明另一实施例的一种基于参数配置的Jenkins项目运行方法的流程图;
图3示出了本发明实施例的一种基于参数配置的Jenkins项目运行装置的结构示意图;
图4示出了本发明另一实施例的一种基于参数配置的Jenkins项目运行装置的结构示意图;
图5示出了本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
图1示出了本发明实施例的一种基于参数配置的Jenkins项目运行方法的流程图;参见图1,所述运行方法包括:
S20、根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonsetname哈希表和docker打包git配置分支名称哈希表;
具体地,预先配置所述Groovy参数哈希表,其中,所述源码地址哈希表包括项目名称和源码地址,所述daemonset name哈希表包括项目名称和daemonset name,所述docker打包git配置分支名称哈希表包括项目名称和分支名称;
根据预设方法在Jenkins Job的配置页面配置参数包括:
获取预先配置的Groovy参数哈希表并将所述Groovy参数哈希表中的内容输入到“Prepare an environment for the run”配置项的Groovy Script输入框内;
为所述Groovy参数哈希表中源码地址哈希表设置返回值git_url,为所述Groovy参数哈希表中daemonset name哈希表设置返回值daemonset_name,为所述Groovy参数哈希表中docker打包git配置分支名称哈希表设置返回值project_git_template。
S40、通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称;
具体地,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称包括:
将“Git”配置中的“Repositories”配置的“Repository URL”设置为http://githost.com$git_url;
所述http://githost.com$git_url中的$git_url从所述源码地址哈希表中获取源码地址。
将“Git”配置中的“Branches to build”配置的“Branch Specifier(blank for'any')”设置为$project_git_template;
所述$project_git_template从所述docker打包配置git分支名称哈希表中获取分支名称。
在“Command”配置中添加k8sapi部署脚本;
根据所述daemonset name哈希表的返回值daemonset_name从所述daemonsetname哈希表中获取daemonset name作为所述k8sapi部署脚本的daemonset name。
本发明提供了一种基于参数配置的Jenkins项目运行方法,所述运行方法首先根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;然后通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonsetname和docker打包git配置分支名称。上述技术方案通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。
图2示出了本发明另一实施例的一种基于参数配置的Jenkins项目运行方法的流程图;参见图2,所述运行方法还包括:
运行新项目,具体包括:
获取新项目的源码地址、ds_name、git分支名称和项目名称;
将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonset name哈希表,将所述git分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Active Choises Parameter”配置项的project的Script选项中。
以下以一个较优的实施例对本发明的有益效果进行说明:
首先获取预先配置的源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;如下表1、表2和表3所示:
表1
Figure BDA0003590659610000081
表2
Figure BDA0003590659610000082
Figure BDA0003590659610000091
表3
Figure BDA0003590659610000092
然后新建jenkins job,类型选择:“构建一个maven项目”,此类型针对java语言项目;在输入流程名称后,点击OK按钮,进入Job配置页面;
勾选配置“Prepare an environment for the run”,在Groovy Script输入框内添加,源码地址哈希表、daemonset name哈希表和docker打包配置git分支名称哈希表,并分别为这三个哈希表设置git_url,daemonset_name和project_git_template3作为返回值;项目运行时通过调用$git_url,$daemonset_name,$project_git_template来获取实际数据;
勾选配置“参数化构建过程”:
在配置“参数化构建过程”中,点击下拉菜单“Add Parameter”中的“ActiveChoises Parameter”,为之后的参数选择提供一个可以下拉的菜单,作为启动流程的第一个参数;
在配置“Active Choises Parameter”中,设置“Name”为project,在Script选项中,点击“Groovy Script”,在“Script”中添加项目名称列表,此处的项目名称列表所列内容为三个哈希表的索引,在流程运行开始之前,从下拉菜单中手动选择某一个,以project为索引名称;
在配置“Active Choises Parameter”中,设置“Choice Type”为Single Select,将下拉菜单设置为单选模式,即只能选择一个项目名称作为project参数;
在配置“Active Choises Parameter”中,勾选“Enable filters”,为下拉菜单添加搜索框,方便快捷查找选定;
在配置“Active Choises Parameter”中,设置“Filter starts at”为1,将下拉菜单默认选择设置为第一个项目名称;
在配置“参数化构建过程”中,再次点击下拉菜单“Add Parameter”,添加“字符参数”,增加一个可以填写版本号的输入框作为启动流程的第二个参数;
在配置“字符参数”中,设置“Name”为src_version,设置版本号变量名称;
在配置“字符参数”中,勾选“Trim the string”,用于过滤空白字符。
在配置“Source Code Management”中,选择“Multiple SCMs”,用于在一个流程中拉取多个git代码;
在配置“Multiple SCMs”中,点击下拉菜单“Add SCM”中的“Git”;
在配置“Git”中的配置“Repositories”中,设置“Repository URL”为http://githost.com$git_url,配置源码地址,其中的$git_url为源码地址哈希表通过启动参数project选定的;
在配置“Git”中的配置“Branches to build”中,设置“Branch Specifier(blankfor'any')”为$src_version,此处配置$src_version为源码版本号,通过启动参数src_version设定;
在配置“Git”中的配置“Additional Behaviours”中,设置“Local subdirectoryfor repo”为src,此处配置src为源码拉取后的本地目录;
在配置“Multiple SCMs”中,再次点击下拉菜单“Add SCM”中的“Git”,添加docker打包git配置的git代码;
在配置“Git”中的配置“Repositories”中,设置“Repository URL”为http://githost.com/docker-env-dev/template.git,这里是docker打包git配置模板的地址,可以兼容多个项目,为一个固定地址;
在配置“Git”中的配置“Branches to build”中,设置“Branch Specifier(blankfor'any')”为$project_git_template,此处为docker打包git配置模板的不同分支,为了应对不同项目的差异配置,虽然模板适合多个项目,但不同的项目之间略有差别,通过版本控制系统git的分支特性进行管理;
在配置“Git”中的配置“Additional Behaviours”中,设置“Local subdirectoryfor repo”为docker,此处配置docker为源码拉取后的本地目录;
勾选“Set Build Name”,设置“Build Name”为#${BUILD_NUMBER}-$project-$src_version,对流程名称自定义,方便后续通过项目名称project和版本号src_version查询执行日志;
在配置“Build”中,设置“Root POM”为src/pom.xml,此处为java项目的专属配置,Java项目通过pom.xml引导编译开始,前面的src/为第一个源码配置拉取后的本地目录;
在配置“Build”中,设置“Goals and options”为-T 8clean package-DdownloadSources=true-Dmaven.test.skip=true-Dmaven.test.failure.ignore=true-Ptest,此处为java项目编译的命令的配置,各个项目通用的;
在配置“Post Steps”中,点击下拉菜单“Add post-build step”,选择“执行shell”,并在配置“Command”中添加打包docker镜像的脚本和部署操作k8sapi的脚本;
最后点击“Save”,保存所有配置。
项目运行时:
$src_version和$project为启动需要填写的参数;
http://githost.com$git_url中$git_url会根据$project从源码地址哈希表中选取对应的源码地址;
http://githost.com/docker-env-dev/template.git的分支$project_git_template会根据项目名称从docker打包配置git分支名称哈希表中选取对应分支名称;
根据所述daemonset name哈希表的返回值daemonset_name从所述daemonsetname哈希表中获取daemonset name作为所述k8sapi部署脚本的daemonset name。
如果有新的项目需要配置,后续维护操作步骤只需要操作以两步:
在配置“Prepare an environment for the run”中的Groovy Script输入框内,对源码地址哈希表、daemonset name哈希表、docker打包配置git分支名称哈希表三个哈希表中添加新项目的相关配置;
在配置“Active Choises Parameter”中的project的Script选项中,添加新的项目名称即可。
本实施例通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。
基于同一发明构思,本发明实施例还提供了一种基于参数配置的Jenkins项目运行装置,可以用于实现上述实施例中所描述的一种基于参数配置的Jenkins项目运行方法,如下面实施例所述:由于该一种基于参数配置的Jenkins项目运行装置解决问题的原理与一种基于参数配置的Jenkins项目运行方法相似,因此一种基于参数配置的Jenkins项目运行装置的实施可以参见一种基于参数配置的Jenkins项目运行方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3示出了本发明实施例的一种基于参数配置的Jenkins项目运行装置的结构框图。如图3所示,所述运行装置包括:
参数配置模块20,根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;
解析模块40,通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。
本发明实施例提供了一种基于参数配置的Jenkins项目运行装置,所述运行装置首先通过参数配置模块20,根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;然后通过解析模块40,运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。上述技术方案通过配置Groovy参数哈希表对多个项目进行标准化规范,可以极大减少流程数量,降低冗余,提高工作效率;同时在业务众多的场景下使得流程配置和维护的成本大大降低。
图4示出了本发明另一实施例的一种基于参数配置的Jenkins项目运行装置的结构框图。如图4所示,所述运行装置还包括:
新项目参数配置模块,获取新项目的项目名称、源码地址、ds_name和git分支名称后将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonsetname哈希表,将所述git分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Active Choises Parameter”配置项的project的Script选项中。
本发明实施例还提供了一种计算机电子设备,图5示出了可以应用本发明实施例的电子设备的结构示意图,如图5所示,该计算机电子设备包括,中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括参数配置模块20和解析模块40,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,解析模块40还可以被描述为“通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称的解析模块40”。
作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种基于参数配置的Jenkins项目运行装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种基于参数配置的Jenkins项目运行方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种基于参数配置的Jenkins项目运行方法,其特征在于,所述运行方法包括:
根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包git配置分支名称哈希表;
通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包git配置分支名称。
2.根据权利要求1所述的运行方法,其特征在于,根据预设方法在Jenkins Job的配置页面配置参数包括:
获取预先配置的Groovy参数哈希表并将所述Groovy参数哈希表中的内容输入到“Prepare an environment for the run”配置项的Groovy Script输入框内;
为所述Groovy参数哈希表中源码地址哈希表设置返回值git_url,为所述Groovy参数哈希表中daemonset name哈希表设置返回值daemonset_name,为所述Groovy参数哈希表中docker打包git配置分支名称哈希表设置返回值project_git_template。
3.根据权利要求1所述的运行方法,其特征在于,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包g i t配置分支名称包括:
将“Git”配置中的“Repositories”配置的“Reposi tory URL”设置为http://githost.com$git_url;
所述http://githost.com$git_url中的$git_url从所述源码地址哈希表中获取源码地址。
4.根据权利要求1所述的运行方法,其特征在于,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包g i t配置分支名称包括:
将“Git”配置中的“Branches to build”配置的“Branch Specifier(blank for'any')”设置为$project_git_template;
所述$project_git_template从所述docker打包配置g i t分支名称哈希表中获取分支名称。
5.根据权利要求1所述的运行方法,其特征在于,所述通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包g i t配置分支名称包括:
在“Command”配置中添加k8sapi部署脚本;
根据所述daemonset name哈希表的返回值daemonset_name从所述daemonset name哈希表中获取daemonset name作为所述k8sapi部署脚本的daemonset name。
6.根据权利要求1所述的运行方法,其特征在于,所述运行方法还包括:
运行新项目,具体包括:
获取新项目的源码地址、ds_name、g i t分支名称和项目名称;
将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonsetname哈希表,将所述gi t分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Acti ve Cho ises Parameter”配置项的project的Script选项中。
7.一种基于参数配置的Jenkins项目运行装置,其特征在于,所述运行装置包括:
参数配置模块,根据预设方法在Jenkins Job的配置页面配置参数;其中,所述参数的配置包括:配置Groovy参数哈希表;所述Groovy参数哈希表包括:源码地址哈希表、daemonset name哈希表和docker打包g i t配置分支名称哈希表;
解析模块,通过运行Jenkins Job执行Groovy脚本,所述Groovy脚本根据项目名称从所述Groovy参数哈希表中解析出项目源码地址、daemonset name和docker打包g i t配置分支名称。
8.根据权利要求7所述的运行装置,其特征在于,所述运行装置还包括:
新项目参数配置模块,获取新项目的项目名称、源码地址、ds_name和git分支名称后将所述源码地址输入到所述源码地址哈希表中,将所述ds_name输入到所述daemonset name哈希表,将所述g i t分支名称输入到所述docker打包配置git分支名称哈希表中,将所述项目名称输入到“Active Choises Parameter”配置项的project的Script选项中。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
CN202210383725.8A 2022-04-11 2022-04-11 基于参数配置的Jenkins项目运行方法及装置 Pending CN114791826A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210383725.8A CN114791826A (zh) 2022-04-11 2022-04-11 基于参数配置的Jenkins项目运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210383725.8A CN114791826A (zh) 2022-04-11 2022-04-11 基于参数配置的Jenkins项目运行方法及装置

Publications (1)

Publication Number Publication Date
CN114791826A true CN114791826A (zh) 2022-07-26

Family

ID=82462430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210383725.8A Pending CN114791826A (zh) 2022-04-11 2022-04-11 基于参数配置的Jenkins项目运行方法及装置

Country Status (1)

Country Link
CN (1) CN114791826A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450250A (zh) * 2023-06-16 2023-07-18 天津金城银行股份有限公司 一种动态脚本执行方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888657A (zh) * 2019-11-28 2020-03-17 浪潮金融信息技术有限公司 一种基于Groovy模板引擎部署微服务的方法
CN114047953A (zh) * 2021-11-05 2022-02-15 深圳Tcl新技术有限公司 流水线配置方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888657A (zh) * 2019-11-28 2020-03-17 浪潮金融信息技术有限公司 一种基于Groovy模板引擎部署微服务的方法
CN114047953A (zh) * 2021-11-05 2022-02-15 深圳Tcl新技术有限公司 流水线配置方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIZEYANG: ""实践:使用JenkinsActive参数,让参数动起来"", Retrieved from the Internet <URL:https://mp.weixin.qq.com/s/tP97jm4YRc-EWWCPFmbPaA> *
小圆不圆: ""Jenkins共享库之Groovy语法"", Retrieved from the Internet <URL:https://mp.weixin.qq.com/s/6uABqBIAgAG05kAbsgbKWQ> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450250A (zh) * 2023-06-16 2023-07-18 天津金城银行股份有限公司 一种动态脚本执行方法、系统及存储介质
CN116450250B (zh) * 2023-06-16 2023-09-19 天津金城银行股份有限公司 一种动态脚本执行方法、系统及存储介质

Similar Documents

Publication Publication Date Title
US10558433B2 (en) Declarative design-time experience platform for code generation
US9760343B2 (en) Application builder based on metadata
US9274784B2 (en) Automatic deployment and update of hybrid applications
CN113312037B (zh) 应用于微服务的数据处理方法、装置、设备和存储介质
Lock ASP. NET core in Action
CN110968325B (zh) 一种小程序转换方法及装置
US7617459B2 (en) Apparatus, system, and method for automatically generating a web interface for an MFS-based IMS application
US6098067A (en) Remote computer management system
US11003835B2 (en) System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework
US20160224335A1 (en) Mobile enabled application
CN112114890A (zh) 小程序的处理方法、装置、设备及存储介质
CN110795088A (zh) 前端工程项目构建方法和工具、计算机可读存储介质
US9886272B1 (en) Transformation of a web application into a hybrid mobile application
CN114791826A (zh) 基于参数配置的Jenkins项目运行方法及装置
CN115113850B (zh) 一种跨平台应用的构建、运行方法、服务器、终端和系统
WO2024066825A1 (zh) 页面项目开发方法、装置、设备、介质及产品
EP3611616A1 (en) Software code optimizer and method
CN110825622A (zh) 软件测试方法、装置、设备和计算机可读介质
US20220164207A1 (en) System for providing an adaptable plugin framework for application transformation to cloud
CN112287266A (zh) 一种网页配置的处理方法及其装置、设备及存储介质
CN115794214A (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN111221610B (zh) 一种页面元素采集方法和装置
US20040194022A1 (en) Kernel configuration tool
Wickham-Jones webMathematica: A user guide
WO2022137647A1 (ja) 情報処理装置、情報処理システムおよびユーザインタフェース提供方法

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