詹金斯持续集成——参数化构建

  

一、字符串参数

由于每次构建的时候指定的SVN路径都不同,如果不使用参数化构建则每次都需要修改配置中的SVN路径,不但不安全也容易出现错误。

将SVN地址设置为字符串参数(字符串参数),当开始构建的时候将会提示用户输入参数值(即:SVN地址)

詹金斯持续集成——参数化构建

在SVN中引用参数

詹金斯持续集成——参数化构建


<代码>当执行构建时,将会弹出页面等待用户输入参数值完成构建

詹金斯持续集成——参数化构建

二,选择

由于之前未对tomcat的状态检测做参数化构建,故每个模块都需要一个对应的工作用于检测,最终将会导致所创建的工作数量太大,不但增加了工作量,而且也容易出错。

<强>以下将通过参数化构建将其合并为一个Tomcat_check的工作。

詹金斯持续集成——参数化构建

<强>构建过程 <代码>模块代码

詹金斯持续集成——参数化构建

触发邮件步骤略(将会在邮件插件中详细介绍)

<人力资源/>

以下附上检测tomcat的脚本(仅供参考)

Tomcat_check检测脚本

<李>

<强>定义检查函数用于检测tomcat是否启动正常函数<代码>

#定义失败后重试次数   尝试=12   失败=0   #定义将会输出版本号的日志(可用于发送邮件)   文件=$ JENKINS_HOME/工作/JOB_NAME/构建/BUILD_NUMBER美元/检查   #詹金斯构建时生成的日志,用于追加日志输出到詹金斯控制台   日志=$ JENKINS_HOME/工作/JOB_NAME/构建/BUILD_NUMBER美元/日志   check () {   ,,,echo  \ & lt; h4 \祝辞,“日期”,在祝辞美元文件   ,,,#当调用检查函数带参数时才执行   ,,,while  [, $ # !=, 0,)   ,才能做   ,,,,,,,IP=癳cho  1美元,|,awk  -F “/?“{print  3美元}”,| awk  -F  ': ', ' {print  1美元}' '   ,,,,,,,版本=癱url  -skf  -m  1, 1美元,| grep 小姐,“v”, | head  1 | dos2unix”   ,,,,,,,curl  -skf  -m  1, 1美元,在/dev/null   ,,,,,,,#当旋度检测URL返回正常时往文件美元记录IP和版本号并往詹金斯控制台输出“1美元,is  OK”(转变用于向左移动一位参数)   ,,,,,,,if [$ ?大敌;-eq  0,);   ,,,,,,,,,,,echo  \ & lt; br \祝辞,\ & lt; a  href=https://www.yisu.com/zixun/$ 1/> $ IP/ + +版本>文件美元   echo $ 1是好的!>美元日志   失败=0   转变   继续   其他的   #当旋度检测URL返回异常则等待10秒后重试   失败=$((没有+ 1美元))   *=$((尝试-失败+ 1美元))   回声”Waiting  for  check 从而web - 1美元,,retrying 拷贝10,seconds  for  TIMES 美元;倍…”,在祝辞美元日志   ,,,,,,,,,,,sleep  10   ,,,,,,,,,,,if  [, ATTEMPTS 美元;-gt  FAILED 美元;);   ,,,,,,,,,,,,,,,继续   ,,,,,,,,,,,   ,,,,,,,,,,,,,,,echo “Failed 用check 从而web - 1美元”,在祝辞美元日志   ,,,,,,,,,,fi   ,,,,,,,,,,,#若重试指定次数后仍然失败则将版本号记录为错误,且字体设为红色   ,,,,,,,,,,,echo  \ & lt; br \祝辞,\ & lt; a  href=https://www.yisu.com/zixun/$ 1/> $ IP/ + +/<字体颜色='红色' \祝辞错误\ & lt; \/字体\祝辞,祝辞祝辞,美元的文件   ,,,,,,,,,,,失败=0   ,,,,,,,,,,,的转变   ,,,,,,,,,,,继续   ,,,,,,fi   ,才能完成   }

<强> <代码>

<李>

<强>通过脚本调用上面定义的检查函数<代码>检查。sh

#引入参数用于指定需要检测的模块(即参数化构建中的模块)   模块=1美元   #引用函数中的检查函数   只/数据/ztjy/功能   args=' cat 美元/数据/ztjy/模块/url '   check  args美元   #提取新版本号(相对其他版本而已)   Maxver=' awk  -F “+”,“{print  3美元}”,file 美元;|,grep 小姐;v  |, sort  | tail  1 '   #提取旧版本号   Minver=' awk  -F “+”,“{print  3美元}”,file 美元;|,grep 小姐;v  |, sort  | head  1 '   #如果是新版本号则改版本号字体显示为橙色   sed ,小姐,”s/$ Maxver/, & lt; font 颜色=俺壬弊4荕axver<美元;\/font>/g”,美元的文件   #如果是旧版本号则改版本号字体显示为绿色   null

詹金斯持续集成——参数化构建