博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins构建多配置项目
阅读量:6071 次
发布时间:2019-06-20

本文共 1452 字,大约阅读时间需要 4 分钟。

本文参考自Jenkins相关资料,结合本人实际使用情况编写。

相关文档:

  • 《Jenkins:The Definitive Guide》 ——10.4 Multiconfiguration Build Jobs

可以解决的问题:

有时,我们希望项目能够根据不同参数、或不同环境来编译,若使用多个项目来实现,则有些浪费资源,那么最好是可以实现:在一个项目中,就能根据给出的不同参数来编译不同版本。

我这里以自定义参数为例。

思路

比如当前项目的参数有四种(非完整参数,简单举例而已)

python -Purpose test -version 1.0python -Purpose release -version 1.0python -Purpose test -version 1.1python -Purpose release -version 1.1

可以看到 Purpose 和 version 参数是可变的,那我们可以利用两个变量将以上参数简化为一条:

python -Purpose %purp% -version 1.%ver%

其中的 purp 可取值为 testrelease,ver 可取值为 01.

有了目标,接下来就是在Jenkins中的应用实践。

步骤

1、需要新建一个任务,类型为:构建一个多配置项目(Build multi-configuration project)

这里写图片描述

2、其他设置与一般任务相同,只是多了一个模块 Configuration Matrix

a)在Add axis中,选择User-defined Axis,本例需要两个变量,所以需要再增加一个User-defined Axis

这里写图片描述

b)这里定义变量和对应的值,Name中是变量名,Values中是变量可取的值,中间以空格或回车隔开(注意:当可取值比较复杂的时候,建议每个值用英文双引号隔离,值之间仍以空格、回车隔开),如图,填入前面提过的变量和值,此时 purpver 就是可以在构建参数中直接使用的变量了

这里写图片描述

c)这个模块的下方有两个可选项需要注意:

  • Combination Filter
    这个是过滤器,目前我们定义了两个变量,也就是说最后会得到 2*2=4 个版本,而有时我们并不想拿到所有组合的版本,那么这个过滤器就可以起作用了,比如我们不想编译 python -Purpose test -version 1.1这个版本,过滤方法如图。
    BTW,当有多个版本要过滤时,可以使用括号和 || 分隔,如:
    (purp == "test" && ver != "1") || (purp == "test" && ver != "0")
    这里写图片描述
  • Run each configuration sequentially
    这个是指定所有版本要按顺序编译,建议勾选

3、构建参数

以上我们已经得到所需变量,那就可以在构建中写入完整的参数配置,这里选择的是Windows 批处理命令(注意:使用变量的方式因命令而异,比如windows下的变量使用%,所以这里用的是 %purp%%ver%

python -Purpose %purp% -version 1.%ver%

这里写图片描述

4、保存后,查看项目,有一个参数矩阵,通过圆球可以对每个版本的构建结果一目了然(注意这里的0和1是我们刚刚定义的变量值,不是序号)

这里写图片描述

转载于:https://www.cnblogs.com/CYTyeah/p/9362436.html

你可能感兴趣的文章
git subtree的使用体验
查看>>
Python培训班好不好?
查看>>
hadoop的eclipse安装
查看>>
linux文件系统与文件管理(一)
查看>>
滴滴谋变:国内“关停并转”非主业,国外加码外卖等业务
查看>>
如何把pdf文件转换为excel表格
查看>>
IT紧随业务频动,质量管理如何御风而行?
查看>>
APP注册发送验证码
查看>>
黑马程序员——关于多态
查看>>
关于outlook的配置
查看>>
RHEL6.2挂载ntfs文件系统
查看>>
cobbler基础使用
查看>>
windows 2012 r2 英文系统 安装 中文软件 显示乱码
查看>>
AngularJS 过滤与排序详解及实例代码
查看>>
openssl续
查看>>
Centos5 下安装配置APC
查看>>
【Composer】实战操作一:使用库
查看>>
centos6.5 x86_64下yum安装nginx和php
查看>>
Mysql 产品分类和版本说明
查看>>
Linux sed高级用法
查看>>