Jenkins 利用Build With Parameters 插件实现选择参数构建

发布时间 2023-04-07 21:02:07作者: 良知犹存

前言

jenkins是CI/CD中部署时候一个重要工具,可以按照我们需求进行配置一些编译打包测试工作,有些是全自动化的,有些需要进行手动参数进行触发。今天给大家分享一下Jenkins使用Build With Parameters插件,实现外置参数进行触发job。

作者:良知犹存

转载授权以及围观:欢迎关注微信公众号:羽林君

或者添加作者个人微信:become_me


安装插件

Jenkins插件管理搜索Build With Parameters 安装好之后http://192.168.33.128:8080/restart ,重启等待生效 重启后进入job配置

使用Build With Parameters插件

在基本参数配置中使能参数选项:

可以看到有很多选项,

  • 布尔参数
  • 选择参数
  • 凭据参数
  • 文件参数
  • 多行字符串参数
  • 密码参数
  • 运行参数
  • 字符串参数

使用字符串参数

做一个简单的tag打包发布

tag外置参数输入设置

设置字符串参数名称,GIT_TAG_VERSION,其中参数要使用下划线,这样Jenkins可以进行后续的识别使用。

在这里插入图片描述在这里插入图片描述

利用git publisher进行tag发布

git publisher也是Jenkins的插件,可以用来把修改的部分推送到远程仓库,这里可以用来推送tag 下面是git publisher的选项

  • 1.Push Only If Build Succeeds:构建成功时推送,这个必须得勾选

  • 2 .Merge Results:合并结果,不做详细介绍

  • 3.Force Push:强制推送到远程仓库上

  • 4.Tags:标签,打tag重点在这:

    • Tag to push:定义tag的名称,这边使用Jenkins提供$BUILD_NUMBER变量,根据当前job构建号 来进行打TAG

    • Tag message:定义tag的描述

    • Create new tag:创建新的TAG,勾选

    • Update new tag:更新TAG,勾选

    • Target remote name:打TAG到远程上的名称

  • 5.Branches:分支,不做详细介绍

  • 6.Notes:记录,不做详细介绍

使用${}进行参数取数据

设置好之后触发编译,会有param选择,这个时候我们就可以输入我们需要的参数进入 这是触发之后的执行log数据

push失败,是因为写的code是随机写的,写正确就推送上去了

除了使用git publisher插件,我们也可以编译时候执行:

git tag -d %GIT_TAG_VERSION%
git tag -d ${GIT_TAG_VERSION}

不同平台下,变量的引用不一样,

Windows批处理:%var_name%

Unix/Linux Shell: ${var_name}

设置多选择列表进行触发编译

上面使用了单字符串进行验证,接下来使用选项列表的选择触发job试用 做一个多仓库选择的工作,定义名称为GIT_STORE

这里使用换行分开,这样就可以出现选项 在代码来源,设置选择参数进行仓库下拉代码: 在外部进行触发编译,这个时候就可以进行选择了 这是触发之后的执行log数据

附录

此外还可以使用Active Choices这个插件,进行脚本解析功能,达到更复杂的功能

还是老方法下载安装:

在这里插入图片描述 同样的restart操作等待生效:

这个时候进行增加参数我们就发现多了几个选项: 选择好参数: 选择使用脚本解析的方法: 在这里插入图片描述 选择脚本解析

return ['Option 1', 'Option 2', 'Option 3']

下面的选项可以单选和可以多选,这里功能就复杂起来了 点击Build with Parameters进行触发编译,就可以看到选项 三个全选,触发编译

Active Choices还有更丰富的界面选择 详情参考:https://plugins.jenkins.io/uno-choice/

结语

这就是我在Jenkins实现选择参数构建的使用分享。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。


作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

                              ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读

【1】jetson nano开发使用的基础详细分享

【2】Linux开发coredump文件分析实战分享

【3】CPU中的程序是怎么运行起来的 必读

【4】cartographer环境建立以及建图测试

【5】设计模式之简单工厂模式、工厂模式、抽象工厂模式的对比

本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。