在上一篇 Jenkins 使用环境变量 中,帮助大家使用一条 Docker 命令就可以快速玩转 Jenkins,同时用最简单的方式解释了 Jenkins 中让人混乱的环境变量,本文还是接着变量说点事情
一般成熟的项目流程都会通过 Jenkins Pipeline 来做 CI 部分,在默认 Jenkins 环境配置中,Jenkins Pipeline 分为两种:
如下图:
如果使用了多分支 Pipeline
,就不会存在动态使用分支名称的问题了。如果你想使用单分支 Pipeline,又想动态使用分支,那本文就派上用场了
新建单分支 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 相关的内容,你大概率会遇到这种需求,这个小技巧收入囊中吧
日拱一兵 | 原创
在Flash Player 10.1及以上版本中,adobe新增了全局错误处理程序UncaughtErrorEv...
本文转载自微信公众号「SQL数据库」,作者丶平凡世界 。转载本文请联系开发公众...
大家好,我是狂聊君。 今天来聊一聊 Mysql 缓存池原理。 提纲附上,话不多说,直...
本文转载自微信公众号「SH的全栈笔记」,作者SH。转载本文请联系SH的全栈笔记公...
CKeditor,以前叫FCKeditor,已经使用过好多年了,功能自然没的说。最近升级到3....
前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值...
问题:我们在做flex的开发中,如果用到别人搭建好的框架,而别人的server名称往...
idea官方推送了2020.2.4版本的更新,那么大家最关心的问题来了,之前激活idea202...
本文实例讲述了AJAX+Servlet实现的数据处理显示功能。分享给大家供大家参考,具...
来源:DeepenStudy 漏洞文件:js.asp % Dimoblog setoblog=newclass_sys oblog.a...