前言

在上一篇 Jenkins 使用环境变量 中,帮助大家使用一条 Docker 命令就可以快速玩转 Jenkins,同时用最简单的方式解释了 Jenkins 中让人混乱的环境变量,本文还是接着变量说点事情

一般成熟的项目流程都会通过 Jenkins Pipeline 来做 CI 部分,在默认 Jenkins 环境配置中,Jenkins Pipeline 分为两种:

  1. Pipeline (单分支 Pipeline)

  2. Multibranch Pipeline (多分支 Pipeline)

如下图:

如果使用了多分支 Pipeline,就不会存在动态使用分支名称的问题了。如果你想使用单分支 Pipeline,又想动态使用分支,那本文就派上用场了

Jenkins 中动态使用分支名称

新建单分支 Pipeline后,可以在界面中看到 This project is parameterized , 勾选上,然后添加 String 类型的参数,如下图所示,String 类型的参数名称为 BranchName, 默认值是 master 分支

向下滚动,来配置 Jenkins Pipeline,其中在指定 Jenkins Pipeline 分支的位置,就可以使用上面刚刚创建的变量 BranchName 了,如下图所示,配置成

*/${BranchName}

注意:如果勾选 Lightweight checkout 可能会出现下面的 Error

stderr: fatal: Couldn't find remote ref refs/heads/${BranchName}

以这种方式,Jenkins Pipeline 会动态根据分支名称来拉取代码,同样也可以在 Jenkinsfile 中动态使用刚刚创建好的 BranchName

pipeline {...parameters {string(name: 'BranchName', defaultValue: 'master', description: null)}stages {stage ('Test Branch Name') {steps {echo "${env.BranchName}"}}}
}

当点击左侧 Build with Parameters 后,我们就可以动态输入分支名称来运行 job 了

总结

在 Jenkins 中,其实这是一种很常见的动态使用参数的方式,config 的其他参数也可以动态引用变量,大大增加灵活性,如果你要维护 JenkinsPipelie 相关的内容,你大概率会遇到这种需求,这个小技巧收入囊中吧。

往期推荐

Dubbo 3.0.0正式发布:应用级服务注册,跨语言的RPC协议、更好支持Kubernetes!

Spring Boot的各种漏洞,值得好好研究一番!

超级任天堂模拟器 bsnes 开发者自杀(文末附模拟器及ROM)

深圳一普通中学老师工资单曝光,秒杀程序员

我来出个题:这些事务会不会回滚?大概率你会错!

点击下方卡片关注我,订阅更多开发者资讯

Jenkins Pipeline动态使用Git分支名称的技巧相关推荐

  1. Ubuntu14.04 64位上配置终端显示git分支名称

    之前在Ubuntu14.04上在终端上显示git分支名称基本上都使用oh-my-zsh,可以参考 https://blog.csdn.net/fengbingchun/article/details/ ...

  2. 终端中显示git分支名称的方法

    终端中显示git分支名称的方法   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼 ...

  3. 本地git的分支名称变空的处理方法

    今天本地撸代码弄到一半想push一下...失败了 看了下分支名称突然变空了,不对啊,我本地的分支是master啊! dell@DESKTOP-0II6H5B MINGW64 /d/dev-projec ...

  4. # 如何在Git上更改本地分支名称和远程分支名称

    有时候我们需要修改git分支名称,例如不合理的分支名称.本篇文章分享了如何轻松地修改Git本地分支名称和修改远程分支名称. 在Git中,通常使用分支来使开发与您的主要工作流程分开.在软件工程团队中,通 ...

  5. 如何重命名本地Git分支?

    我不想重命名远程分支,如重命名本地和远程Git存储库的master分支中所述. 如何重命名尚未推送到远程分支的本地分支? 如果您还需要重命名远程分支: 如何重命名Git本地和远程分支名称 #1楼 gi ...

  6. Jenkins pipeline job 根据参数动态获取触发事件的分支

    此文需要有Jenkins pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins ...

  7. Jenkins 流水线 获取git 分支列表_Jenkins扩展共享库进阶

    读完需 16 分钟 速读需 7 分钟 前言 前面我们介绍了Jenkins多分支流水线.Jenkins流水线即代码之扩展共享库,其实都是"流水线即代码"的体现.我们将Jenkinsf ...

  8. jenkins动态获取gitlab分支

    为什么要动态获取gitlab分支? 每个项目代码库都会有不同的分支,(如果你没有用多分支流水线的情况下)对于普通的流水线项目我们可以 让一条流水线来支持多个分支的发布,其实有时候你会发现每个分支的集成 ...

  9. Jenkins 流水线 获取git 分支列表_持续集成工具Jenkins看这篇就够啦!

    本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网 ,按需下载.如用于生产,建议下载Long-term Support ...

最新文章

  1. 【面向对象编程】(3) 类之间的交互,依赖关系,关联关系
  2. Slackware网卡配置文件和配置工具
  3. 织梦首页html在哪儿,dedecms织梦首页去index.html
  4. HTML基础知识(w3school)
  5. 怎么成为日上会员直邮_手把手教你玩转各大免税店直邮方法,再也不用担心真假代购...
  6. 解决办法:无法解析的外部符号 __imp_RegCloseKey
  7. 聊天实录:刘静平谈网管员职业规划与技术
  8. linux卸载邮件服务,Zimbra在linux系统上的删除(卸载)方法
  9. 阿里ACP云计算认证快速通关分享
  10. 【LabVIEW】基于LabVIEW的2048游戏设计
  11. ireport mysql_iReport连接Mysql创建图表报表
  12. Android11.0 默认开启WLAN热点设置默认热点名称和密码
  13. 掌握这几款高保真设计软件,百万年薪不再是梦想
  14. 程序员用代码求救, 同事“秒懂”
  15. 家长心态建设;一切都没想象的那么糟
  16. WLAN旁挂组网二层直连
  17. 创建git仓库(简易局域网版)
  18. 安装redis时被意外攻击 newinit
  19. PHP计算圆的面积和周长
  20. Github深度学习面试题答案

热门文章

  1. 自行制作IT资产管理软件思路
  2. 发布或重启线上服务时抖动问题解决方案
  3. rabbitmq beam.smp cpu利用率过高
  4. golang 不定参 可变参 使用 传递
  5. dnslog 在 sql注入中的应用
  6. linux shell 文件路径 分解 解析 切分 ${str:a:b} 用法
  7. centos7 安装 redis
  8. python3 中 布尔 bool 类型转换
  9. 对模拟int3的探索
  10. C语言中字符串常用函数--strcat,strcpy