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

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

前言

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

作者:良知犹存

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

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


安装插件

Jenkins插件管理搜索Build With Parameters
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
安装好之后http://192.168.33.128:8080/restart ,重启等待生效
重启后进入job配置

使用Build With Parameters插件

在基本参数配置中使能参数选项:
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

可以看到有很多选项,

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

使用字符串参数

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

做一个简单的tag打包发布

tag外置参数输入设置

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

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

利用git publisher进行tag发布

git publisher也是Jenkins的插件,可以用来把修改的部分推送到远程仓库,这里可以用来推送tag
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
下面是git publisher的选项
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

  • 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:记录,不做详细介绍

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

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

设置好之后触发编译,会有param选择,这个时候我们就可以输入我们需要的参数进入
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
这是触发之后的执行log数据

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

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

除了使用git publisher插件,我们也可以编译时候执行:
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

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

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

Windows批处理:%var_name%

Unix/Linux Shell: ${var_name}

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

上面使用了单字符串进行验证,接下来使用选项列表的选择触发job试用
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
做一个多仓库选择的工作,定义名称为GIT_STORE

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

附录

此外还可以使用Active Choices这个插件,进行脚本解析功能,达到更复杂的功能
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

还是老方法下载安装:

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
同样的restart操作等待生效:

这个时候进行增加参数我们就发现多了几个选项:
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
选择好参数:
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
选择使用脚本解析的方法:
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
选择脚本解析

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

下面的选项可以单选和可以多选,这里功能就复杂起来了
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
点击Build with Parameters进行触发编译,就可以看到选项
jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维
三个全选,触发编译

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

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维

结语

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


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

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

推荐阅读

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

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

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

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

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

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

jenkins参数化构建插件,Jenkins,CI/CD,jenkins,运维文章来源地址https://www.toymoban.com/news/detail-526539.html

到了这里,关于Jenkins 利用Build With Parameters 插件实现选择参数构建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • jenkins 参数化构建过程,jenkins下拉框选择要部署项目,jenkins部署java微服务项目,jenkins部署微服务

    jenkins 参数化构建过程,jenkins下拉框选择要部署项目,jenkins部署java微服务项目,jenkins部署微服务

     1. jenkins部署demo 优化 点: 选择丢弃旧的构建,最大个数可以选择3或者5个,如果微服务,十个jar,占用很多空间,多来几次部署,硬盘满了 2. 选择 参数构建 ,需要部署哪个项目 名称可以设置为你的项目名,例:test_project 选项 例:           test_user           test

    2024年01月24日
    浏览(12)
  • php时间选择器插件与安全过滤参数发生空格冲突

    php参数过滤时,将“ ”作为隐患予以禁止,但是在时间传递时,如 2023-09-30 10:00:00 作为变量传递时,被禁止。 在JavaScript中,你可以使用 String.prototype.replace() 函数来替换字符串中的特定字符。以下是一个封装的函数,将输入的时间字符串中的空格替换为’@\\\': 在这个函数中,

    2024年02月07日
    浏览(13)
  • Elasticsearch Mapping parameters(主要参数一览)

    Elasticsearch Mapping parameters(主要参数一览)

    “username”: “johnsmith”, “name”: { “first”: “John”, “last”: “Smith” } } PUT my_index/_doc/2 // @1 { “username”: “marywhite”, “email”: “mary@white.com”, “name”: { “first”: “Mary”, “middle”: “Alice”, “last”: “White” } } GET my_index/_mapping // @2 代码@1在原有的映射下,增加了u

    2024年03月19日
    浏览(9)
  • 结构重参数化(Structural Re-Parameters)PipLine

    结构重参数化(Structural Re-Parameters)PipLine

    Inception架构由Google提出,常规包括Ixception-V1、Ixception-V2、Ixception-V3、Ixception-V4、Ixception-ResNet,版本间差异主要集中在迭代方式上,这里我们以V1为例子,介绍Ixception的结构特点。论文地址 算法思想 对于CNN来说,提升网络性能最好的方式是增加网络的深度和维度,对于深度而

    2024年02月03日
    浏览(12)
  • 【ROS2 入门】ROS 2 参数服务器(parameters)概述

    【ROS2 入门】ROS 2 参数服务器(parameters)概述

            大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们一起了解ROS 2中Topic, 这一篇,我们主要会围绕ROS中另外一个重要的概念“Parameters ”,了解如何在ROS 2中获取、设置、保存和重新加载参数。 目录 1 、启动模拟节点

    2024年02月08日
    浏览(9)
  • 【深度学习PyTorch入门】6.Optimizing Model Parameters 优化模型参数

    现在我们有了模型和数据,是时候通过优化数据上的参数来训练、验证和测试我们的模型了。训练模型是一个迭代过程;在每次迭代中,模型都会对输出进行猜测,计算其猜测中的误差( 损失 ),收集相对于其参数的导数的误差(如我们在上一节中看到的),并使用梯度下

    2024年01月24日
    浏览(15)
  • 利用GitLab与jenkins借助webhooks实现代码同步

    利用GitLab与jenkins借助webhooks实现代码同步

    1.1 什么是 Webhooks Webhooks 是一种通过 HTTP 协议实现的回调机制,用于实时将事件通知传递给其他应用程序。它允许一个应用程序通过 HTTP 请求直接将信息推送给另一个应用程序,而不需要轮询或手动查询。配置Webhook是为了实现更紧密的集成,以便在代码仓库有新的提交时触发

    2024年02月01日
    浏览(8)
  • Jenkins工具系列 —— 插件 实现用户权限分配与管理

    Jenkins工具系列 —— 插件 实现用户权限分配与管理

    点击 左侧的 Manage Jenkins — Plugins —— 左侧的 Available plugins 点击 左侧的 Manage Jenkins — Security a、安全域(委托给servlet容器、Jenkins自己的用户数据库、LDAP、Unix 用户/组数据库)- Jenkins自己的用户数据库 b、允许用户注册 c、授权策略(任何人都可以做任何事、传统模式、登入

    2024年02月10日
    浏览(10)
  • JMeter请求参数Parameters,带中文或特殊字符(+/=)时,例如登录密码或者token等,需要勾选编码

    JMeter请求参数Parameters,带中文或特殊字符(+/=)时,例如登录密码或者token等,需要勾选编码

    以前的登录接口密码参数不包含特殊字符,为了安全,产品今天修改了需求,密码必须由数字,字母和特殊字符构成,之前利用JMeter接口编写的脚本报错了,调整了一下,里面踩了一点坑,记录下来,希望对大家有帮助。 修改以前的接口,第一反应就是换一个复杂密码,然后

    2024年01月18日
    浏览(14)
  • C#利用接口实现选择不同的语种

    C#利用接口实现选择不同的语种

    目录 一、涉及到的知识点 1.接口定义 2.接口具有的特征 3.接口通过类继承来实现 4.有效使用接口进行组件编程 5.Encoding.GetBytes(String)方法 (1)检查给定字符串中是否包含中文字符 (2)编码和还原前后 6.Encoding.GetString(Byte[])方法 (1)示例 二、实例 1. 源码 2.生成效果      

    2024年02月21日
    浏览(9)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包