Jenkins持续集成——参数化构建
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、String Parameter由于每次构建的时候指定的SVN路径都不同,如果不使用参数化构建则每次都需要修改配置中的SVN路径,不但不安全也容易出现错误。将SVN地址设置为字符串参数(strin
千家信息网最后更新 2025年12月02日Jenkins持续集成——参数化构建
一、String Parameter
由于每次构建的时候指定的SVN路径都不同,如果不使用参数化构建则每次都需要修改配置中的SVN路径,不但不安全也容易出现错误。
将SVN地址设置为字符串参数(string parameter),当开始构建的时候将会提示用户输入参数值(即:SVN地址)

在SVN中引用参数

另外,如果需要自动拉取SVN的tag或git的branch可以使用"List Subversion tags(and more)"和"Git Parameter Plug-In"这两个插件,将会自动在所填的SVN/git地址下列出子目录,有兴趣的朋友可以自己研究一下。
当执行构建时,将会弹出页面等待用户输入参数值完成构建
二、Choice
由于之前未对tomcat的状态检测做参数化构建,故每个模块都需要一个对应的job用于检测,最终将会导致所创建的job数量太大,不但增加了工作量,而且也容易出错。
以下将通过参数化构建将其合并为一个Tomcat_check的job。
合并前:
合并后:
勾选配置参数化构建过程(选择"Chice"并定义参数名为Module,Choices的值根据自己的情况填写需要的选项)
构建过程(执行check.sh脚本并引用参数Module)
触发邮件步骤略(将会在邮件插件中详细介绍)
以下附上检测tomcat的脚本(仅供参考)
Tomcat_check检测脚本
定义check函数用于检测tomcat是否启动正常
functions
#定义失败后重试次数ATTEMPTS=12FAILED=0#定义将会输出版本号的日志(可用于发送邮件)file=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/check#jenkins构建时生成的日志,用于追加日志输出到jenkins控制台log=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/logcheck(){ echo \ `date` >> $file #当调用check函数带参数时才执行 while [ $# != 0 ] do IP=`echo $1 | awk -F "/" '{print $3}' |awk -F ':' '{print $1}'` ver=`curl -skf -m 1 $1 |grep -i "v" |head -1|dos2unix` curl -skf -m 1 $1 > /dev/null #当curl检测URL返回正常时往$file记录IP和版本号并往jenkins控制台输出"$1 is OK"(shift用于向左移动一位参数) if [ $? -eq 0 ];then echo \
\$IP\<\/a\> ++ $ver >> $file echo $1 is OK! >> $log FAILED=0 shift continue else #当curl检测URL返回异常则等待10秒后重试 FAILED=$(($FAILED + 1)) TIMES=$(($ATTEMPTS - $FAILED + 1)) echo "Waiting for check the web-$1, retrying in 10 seconds for $TIMES times..." >> $log sleep 10 if [ $ATTEMPTS -gt $FAILED ];then continue else echo "Failed to check the web-$1" >> $log fi #若重试指定次数后仍然失败则将版本号记录为ERROR,且字体设为红色 echo \
\$IP\<\/a\> ++ \Error\<\/font\> >> $file FAILED=0 shift continue fi done}
通过脚本调用上面定义的check函数
check.sh
#引入参数用于指定需要检测的模块(即参数化构建中的Module)Module=$1#引用functions中的check函数. /data/ztjy/functionsargs=`cat /data/ztjy/$Module/url`check $args#提取新版本号(相对其他版本而已)Maxver=`awk -F "+" '{print $3}' $file | grep -i v | sort |tail -1`#提取旧版本号Minver=`awk -F "+" '{print $3}' $file | grep -i v | sort |head -1`#如果是新版本号则改版本号字体显示为橙色sed -i "s/$Maxver/ $Maxver<\/font>/g" $file#如果是旧版本号则改版本号字体显示为绿色sed -i "s/$Minver/ $Minver<\/font>/g" $file执行参数化构建
由上面可见检测后将自动触发邮件通知,邮件内容如下:
参数
检测
版本
邮件
函数
脚本
地址
字体
日志
输出
控制台
插件
时候
模块
次数
用户
路径
过程
控制
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏工厂的全球服务器
数据库怎么使列名明确
剑灵韩服人男捏脸数据库
服务器安全性评估
新手学习服务器数据库
服务器硬件信息怎么查
联想 4路服务器
外文数据库检索词的表达
搜索网络安全教育手抄报的内容
关系型数据库的三大特性
网络安全法实施三周年宣传
政务云服务平台服务器
预制构件模板软件开发
网咖服务器需要维护吗
管家婆服务器安装后登录不上
军队网络安全十不准
关于网络安全的征文550字
以下属于图数据库
电大网络技术机考满分
阿里域名邮箱服务器
软件开发学校在什么地方
原神的服务器是什么语言
网络安全审计考证壁纸
综合布线和计算机网络技术
佛山服务器存储
BT连不上Excel数据库
武汉软件开发驻场收费报价表
施耐德服务器故障7344
可牛网络技术有限公司招聘
大学网络安全意识