Jenkins参数化构建与触发

这篇具有很好参考价值的文章主要介绍了Jenkins参数化构建与触发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

我们在使用Jenkins进行项目构建时,有时会出现两个项目之间关联的情况,比如项目1构建结束后想要直接执行项目2,或者项目1中的某些参数需要传递给项目2来使用,此时可以使用Jenkins的参数化构建方法来完成该过程。

一、Jenkins参数化构建

勾选参数化构建过程

选择你想要添加的参数类型

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

参数定义,这里以选项参数类型为例

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

参数的使用,例如将构造时所选的参数打印10次:

for((index=0;index<10;index++));
  do
    echo ${Param}
  done

参数化构建,回到首页,点击 Build with Parameters,在弹出的选项框中勾选你想要使用的参数

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

例如我们选择了option2,然后点击立即构建,可以在该构建的项目下,查看控制台输出:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

此时可以看到控制台log中打印了10次option2,说明参数化构建成功。

二、Jenkins任务触发

在进行多任务的持续集成项目构建时,经常会遇到需要执行完任务1,然后再执行任务2,如果任务2的执行不需要用到任务1中的参数,那么可以在任务2中的触发器中添加任务1的名字。还是以write为任务1,以test_write为任务2举例,在任务2的构建触发器选项中勾选其他工程构建后触发,然后在关注的项目中填写任务1的名字write,如下图所示:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

然后在任务2的执行shell脚本中写入打印3次‘test’的指令,保存。最后参数化构建任务1,还是打印10次选项,这次勾选option3,可以看到该界面中,出现了下级项目为test_write的链接:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

构建任务1,参数选项为option3,则任务1的输出为:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

然后点进test_write中,发现刚刚完成一个构建项目:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

点击可以查看这个项目的控制台输出:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

任务2正常打印了3遍test,说明任务1成功触发了任务2并且正常构建了。无参数触发的方法不止这一种,还可以通过在任务1中添加构建后操作-构建其他工程-填写要构建的项目来完成,如下图所示,原理与上述类似,不再赘述。

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

三、Jenkins参数化触发

当任务1中有构建后需要传递给任务2的参数时,要想实现带参数构建,需要借助一个Jenkins插件:Parameterized Trigger,读者可以自行安装一下,安装成功后,在项目的构建后操作选项中可以看到多了一个Trigger parameterized build on other projects选项:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

还是以write任务为任务1,test_write任务为任务2为例进行讲解。

1.在任务1中将执行中的参数保存到properties文件中
因为终端shell执行完毕后变量都会回收,所以不能够将变量直接传递给任务2,需要将其写入到文件中然后以文件的形式传递,在任务1的执行shell代码中加入如下代码:

echo "PARAM_NAME=$Param" > profile.txt

PARAM_NAME表示的就是将要传递给任务2的参数,如图所示:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

2.在任务1中增加构建后操作

在任务1中的增加构建后操作中,选择Trigger parameterized build on other projects,然后在项目名字中填写test_write,在Add Parameters选项中选择Parameters from properties file:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

在Use properties from file中添加profile.txt的路径,注意此处一定要填你在服务器上保存的profile.txt的绝对路径,否则会提示找不到(重要!!!)。

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

然后点击保存。

3.在任务2中添加构建参数

将在任务1的properties文件中定义的参数PARAM_NAME 传递给任务2,那么PARAM_NAME就是任务2的构建参数,定义其为字符类型,并在执行shell中打印三次这个参数。

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

任务2执行shell代码:

for((index=0;index<3;index++));
  do
    echo ${PARAM_NAME}
  done

然后点击保存。

4.测试是否构建成功

至此完成了任务1到任务2的参数化触发过程,此时打开任务1,参数化构建任务1,选择option2测试:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

我们期望任务1打印10次option2之后将该值通过保存在profile.txt中的PARAM_NAME来传递给任务2,并且触发任务2进行构建,最终在任务2中打印3次:

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

如图所示,此时说明任务2已经由任务1带参数触发成功了。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试技术交流群社:746506216(里面还有工作内推机会,毕竟我们是关系社会。)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展

面试文档获取方式:


jenkins参数化构建+触发构建,软件测试,职场经验,程序员,jenkins,运维,软件测试,自动化测试,职场和发展文章来源地址https://www.toymoban.com/news/detail-743563.html

到了这里,关于Jenkins参数化构建与触发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jenkins触发器构建配置

    1、构建触发器 1.1、触发远程构建 1.2、cron表达式 1.3、Build periodically(定期构建) 1.4、Poll SCM(轮询 SCM) 1、设置Jenkins远程构建地址 注意事项:复制地址到postman或者另外一个新的浏览器中访问该地址,会要求进行身份认证(在浏览器中弹出登录页面),需要完成认证后才能

    2024年01月23日
    浏览(53)
  • 九、提交代码自动触发Jenkins构建版本

    http://JENKINS_URL/generic-webhook-trigger/invoke?token=ruoyi-ui-8978456465 http://192.168.1.183:8080 为jenkisn地址,/generic-webhook-trigger/invoke?token= 固定不变,ruoyi-ui-8978456465 这个Jenkins中配置的token 值 获取到WebHooks 地址,git服务器(gitlab,gitee,gitea,)添加webhook,,这个时候提交代码可以触发自动构建完

    2024年02月10日
    浏览(39)
  • Jenkins cron定时构建触发器

    from: https://www.jenkins.io/doc/book/pipeline/syntax/#cron-syntax 以下内容为根据Jenkins官方文档cron表达式部分翻译过来,使用机翻加个人理解补充内容,包括举例。 Jenkins cron 语法遵循 cron 实用程序的语法(有细微差别) 。具体来说,每行由 5 个由 TAB 或空格分隔的字段组成: 分钟 小时

    2024年03月12日
    浏览(57)
  • 【Jenkins配置Gitee webhook 触发构建】

    目录 一、配置构建触发器 二、配置Gitee WebHooks 管理 三、测试构建 勾选“Gitee webhook 触发构建”。把后面的URL复制、保存、待在Gitee码云里配置Web Hook使用。(Gitee webhook 触发构建,需要在 Gitee webhook 中填写 URL: http://192.569.93.

    2024年02月12日
    浏览(50)
  • jenkins 使用webhooks 触发构建任务gitea为例 gitlab类似

    多次尝试以及网上的各种资料查阅成功了下 其他人给的答案他们有他们的道理,至少我没有实验成功。我这里就记录下 添加API token 将生成的token 复制保存 第4步骤的时候要用 配置构建方式 填写身份验证令牌 安全配置修改为 “登录用户可以做任何事” 在gitea 中配置webhooks

    2024年01月25日
    浏览(41)
  • 持续集成交付CICD:Jenkins Pipeline与远程构建触发器

    目录 一、实验 1.Jenkins Pipeline本地构建触发器 2.Jenkins Pipeline与远程构建触发器(第一种方式) 3.Jenkins Pipeline与远程构建触发器(第二种方式) 4.Jenkins Pipeline与远程构建触发器(第三种方式) 二、问题 1.pipeline插件依赖安装报错 2.控制台输出环境变量名冲突 3.并行构建job存在

    2024年02月03日
    浏览(46)
  • Jenkins 参数化构建

    目录 前言: 以下是Jenkins官方的介绍: 首先新建一个自由风格的job,然后勾选“This project is parameterized”,如下图: 勾选参数构建 choice parameterized: 选项: 使用参数: 添加构建步骤 Windows构建脚本 测试验证 很多时候我们需要根据不同的条件去执行构建,如自动化测试中执

    2024年02月12日
    浏览(34)
  • Jenkins 构建时动态获取参数

    在做jenkins项目时,有些参数不是固定写死的,而是动态变化的,这时我们可以用 Active Choices 插件来远程调用参数 问题解决方案 :执行构建前使用Groovy Scrip调用本地脚本,本地脚本执行获取参数的逻辑 本文所用环境:centos7 、jenkins2.107 Active Choices 插件用于参数动态变化的

    2024年02月04日
    浏览(44)
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

    本节内容我们主要介绍在Jenkins流水线中,其构建过程中的一些构建策略的配置,例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等,可根据不同的需求完成不同构建策略的配置。 - 构建策略说明: - 测试验证 - 构建说明 - 测试验证 - 配置

    2024年02月21日
    浏览(96)
  • Jenkins参数化构建及代码发布

    https://blog.csdn.net/m0_59933574/article/details/134528050?spm=1001.2014.3001.5502 https://blog.csdn.net/m0_59933574/article/details/134528050?spm=1001.2014.3001.5502 Git Centos7及以上 Gitlab Jenkins shell ansible 主机ip 安装服务 192.168.231.241 jenkins,后面称为jenkins端 192.168.231.238         gitlab,后面称为gitlab端 192.168.

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包