Jenkins Pipeline动态使用Git分支名称的技巧
前言
在上一篇 Jenkins 使用环境变量 中,帮助大家使用一条 Docker 命令就可以快速玩转 Jenkins,同时用最简单的方式解释了 Jenkins 中让人混乱的环境变量,本文还是接着变量说点事情
一般成熟的项目流程都会通过 Jenkins Pipeline 来做 CI 部分,在默认 Jenkins 环境配置中,Jenkins Pipeline 分为两种:
Pipeline (单分支 Pipeline)
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分支名称的技巧相关推荐
- Ubuntu14.04 64位上配置终端显示git分支名称
之前在Ubuntu14.04上在终端上显示git分支名称基本上都使用oh-my-zsh,可以参考 https://blog.csdn.net/fengbingchun/article/details/ ...
- 终端中显示git分支名称的方法
终端中显示git分支名称的方法 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼 ...
- 本地git的分支名称变空的处理方法
今天本地撸代码弄到一半想push一下...失败了 看了下分支名称突然变空了,不对啊,我本地的分支是master啊! dell@DESKTOP-0II6H5B MINGW64 /d/dev-projec ...
- # 如何在Git上更改本地分支名称和远程分支名称
有时候我们需要修改git分支名称,例如不合理的分支名称.本篇文章分享了如何轻松地修改Git本地分支名称和修改远程分支名称. 在Git中,通常使用分支来使开发与您的主要工作流程分开.在软件工程团队中,通 ...
- 如何重命名本地Git分支?
我不想重命名远程分支,如重命名本地和远程Git存储库的master分支中所述. 如何重命名尚未推送到远程分支的本地分支? 如果您还需要重命名远程分支: 如何重命名Git本地和远程分支名称 #1楼 gi ...
- Jenkins pipeline job 根据参数动态获取触发事件的分支
此文需要有Jenkins pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins ...
- Jenkins 流水线 获取git 分支列表_Jenkins扩展共享库进阶
读完需 16 分钟 速读需 7 分钟 前言 前面我们介绍了Jenkins多分支流水线.Jenkins流水线即代码之扩展共享库,其实都是"流水线即代码"的体现.我们将Jenkinsf ...
- jenkins动态获取gitlab分支
为什么要动态获取gitlab分支? 每个项目代码库都会有不同的分支,(如果你没有用多分支流水线的情况下)对于普通的流水线项目我们可以 让一条流水线来支持多个分支的发布,其实有时候你会发现每个分支的集成 ...
- Jenkins 流水线 获取git 分支列表_持续集成工具Jenkins看这篇就够啦!
本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网 ,按需下载.如用于生产,建议下载Long-term Support ...
最新文章
- 【面向对象编程】(3) 类之间的交互,依赖关系,关联关系
- Slackware网卡配置文件和配置工具
- 织梦首页html在哪儿,dedecms织梦首页去index.html
- HTML基础知识(w3school)
- 怎么成为日上会员直邮_手把手教你玩转各大免税店直邮方法,再也不用担心真假代购...
- 解决办法:无法解析的外部符号 __imp_RegCloseKey
- 聊天实录:刘静平谈网管员职业规划与技术
- linux卸载邮件服务,Zimbra在linux系统上的删除(卸载)方法
- 阿里ACP云计算认证快速通关分享
- 【LabVIEW】基于LabVIEW的2048游戏设计
- ireport mysql_iReport连接Mysql创建图表报表
- Android11.0 默认开启WLAN热点设置默认热点名称和密码
- 掌握这几款高保真设计软件,百万年薪不再是梦想
- 程序员用代码求救, 同事“秒懂”
- 家长心态建设;一切都没想象的那么糟
- WLAN旁挂组网二层直连
- 创建git仓库(简易局域网版)
- 安装redis时被意外攻击 newinit
- PHP计算圆的面积和周长
- Github深度学习面试题答案