持续集成交付CI及CD之Jenkins的多项目配置项

背景

  1. 代码需要在不同类型的操作系统下编译,生成对应操作系统下的安装包
  2. 每次编译时不一定是全部类型的系统都需要,可能某个版本只需要在指定的系统下编译
  3. 编译过程耗时比较久,不同类型的系统需要并行编译,而不能串行编译
  4. 同一个项目(命令)需要在不同的服务器同时编译安装或更新程序或执行某些命令, 重复的动作需要执行多次

接下来跟大家分享一下linux下安装jenkins的多项目配置项, 动态传参

实现思路

  1. 创建一个”多项目配置“工程,configuration matrix设置动态参数service, 字符参数COMMAND
  2. 选择”参数化构建“,设置两个参数:字符COMMAND,多选项service
  3. 构建步骤添加 ”Send files or execute commands over SSH“,并配置多个ssh server
  4. 步骤3的ssh server分别打上service:service1,service2,service3,并设置参数名ser

详细步骤

  1. 确认插件

确认是否已经安装SSH工具: Publish over SSH 和 参数多选配置: Extended Choice ParameterDynamic Axis 这三个插件, 如果没有去插件市场先安装, 安装好后需要重启jenkins

  1. 设置ssh

在Dashboard > 系统管理 > 系统配置 中 设置找到 Publish over SSH 并设置对应的ssh登录的别名、host、帐号及密码

SSH配置1.png
SSH配置2.png

可以点击右下角的Test Configuration按钮测试是否成功, 若成功连接左下角会显示Success字样

测试SSH.png

  1. 构建多配置项目

创建工程(首页左上角的新建任务), 类型选择 “构建一个多配置项目”
创建工程.png

  1. 选择参数化构建,并选择Extended Choice Parameter选项

Name 为参数名称

Description 为参数描述

勾选Basic Parameter Types选项:

Parameter Type (参数类型): 选择 Check Boxes;
Number of Visible Items (参数数量): 代表需要几个, 这里演示填了3;
Delimiter (分隔符): 代表参数用什么分隔符连接, 默认为,

点击Choose Source for Value 后会有一个下拉页面, 其中 Value 代表三个参数的名称, 名称用逗号拼接;

点击Choose Source for Value Description后会有一个下拉页面其中 Description 代表三个参数的描述, 描述用逗号拼接

不要勾选Quote Value 勾选后输出的参数值为:echo ${names} 显示为<“service1,service2,service3”> 不勾选输出为:service1,service2,service3 没有<>和""

参数化构建配置1.png

参数化构建配置2.png

  1. 选择参数化构建,并选择字符参数选项

名称 为参数名称

描述 为参数描述

默认值 为参数默认值

字符参数化构建配置.png

  1. 找到Configuration Matrix

点击 Add axis, 选择 Dynamic Axis

Axis Name为参数名称, Axis Name不能跟步骤4配置的参数同名(在例子中填写了ser)

Variable Name 为参数名称值, Variable Name必须为步骤4配置的对应的参数名(在例子中步骤4的参数名为service)

Configuration Matrix配置.png

  1. 找到Build Steps

点击 增加构建步骤, 选择 Send files or execute commands over SSH

构建步骤选择SSH.png

Name 选择的是最开始在全局配置中新增的SSH客户端

点击高级 , 勾选 Verbose output in console 这样可以打印执行日志在控制台, 勾选Label, Label的值填写是步骤4填写的三个参数值中的一个, 这里举例填写service1

Exec command 填入登录该客户端后需要执行的命令, 这里举例填入 echo "$(date "+%Y-%m-%d %H:%M:%S") $ser执行 $COMMAND" >> /home/oper.log
$ser 代表选中的哪个service, $COMMAND 代表输入的自定义指令

构建步骤SSH配置.png

  1. 构建

至此, 多项目的动态参数配置已完成, 保存配置后, 重新点击任务, 点击Build with Parameters(构建) 即可看到如下界面

多项目配置动态参数选择界面.png

点击开始构建, 即可按照勾选的服务 顺序登录SSH, 并执行各自SSH的命令
任务构建完成后的控制台日志.png
添加新评论