Jenkins插件获取git分支的方法

Posted 技术颜良

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins插件获取git分支的方法相关的知识,希望对你有一定的参考价值。

 

1、旧版本的Jenkins可以使用Dynamic Choice Parameter插件;

使用方法:

Jenkins--->dev-h5-server--->配置--->参数化构建过程--->选择Dynamic Choice Parameter插件:

  1. Name:   git_branch 
  2.  
  3. Choices Script : 
  4. def gettags = ("git ls-remote -h http://10.0.10.25/h5-server.git").execute() 
  5. gettags.text.readLines().collect { it.split()[1].replaceAll(‘refs/heads/‘, ‘‘)  }.unique() 

源码管理--->Git---> Branches to build

  1. 把*/master 改成:$git_branch [就是上面定义的Name值] 

这样就可以获取到git代码分支了;

 

我在Jenkins旧版[Jenkins ver. 1.653]中有以下提示;[暂时未测试]

Git Parameter Plug-In  0.8.0

Assign git tag or revision number as parameter in Parametrized builds

Warning: This plugin requires dependent plugins be upgraded and at least one of these dependent plugins claims to use a different settings format than the installed version. Jobs using that plugin may need to be reconfigured, and/or you may not be able to cleanly revert to the prior version without manually restoring old settings. Consult the plugin release notes for details.

 

2、新版本[指2.0以上]Dynamic Choice Parameter插件已经在官方上找不到了,官方说明存在安全漏洞;

所以使用Git Parameter Plug-In 构建参数获取分支的插件

使用方法:

Jenkins--->dev-h5-server--->配置--->参数化构建过程--->选择Git Parameter Plug-In插件:

  1. Name: git_branch 
  2. Description:描述可以写些什么 
  3. Parameter Type:选择Branch 
  4. Branch Filter:  .* 
  5. Tag Filter: * 
  6. Sort Mode:  NONE 
  7. Default Value:  master    #默认不选择的时候会使用master主干; 
  8. Selected Value: DEFAULT   #默认值为master 

其它没写上来的都留空;

源码管理--->Git---> Branches to build

  1. 把*/master 改成:$git_branch [就是上面定义的Name值] 

这样就可以获取到git代码分支了;

其实两个插件的方法都是差不多,只是获取出来的列表有点不一样,Dynamic Choice Parameter插件加上脚本上的切片,只保留了分支名;而Git Parameter Plug-In会把origin/都显示出来;

 

技术分享图片

去掉那段E文的简单方法:

  1. cd jenkins/plugins/git-parameter/WEB-INF/lib/ 

进入到插件的目录下,创建一个临时目录:

  1. mkdir test 
  2. cp git-parameter.jar test/ 
  3. cd test/ 
  4. jar xf git-parameter.jar 
  5. vim ./net/uaznia/lukanus/hudson/plugins/gitparameter/GitParameterDefinition/index.properties 

把第二行删除,保存后再重新打包:

  1. jar cvf git-parameter.jar .* 
  2. /bin/cp git-parameter.jar ../     

替换原来的文件,建议修改前先备份一下;重新打包后大小从原来的64K变成了1.2M有点夸张;

重新启动Jenkins服务时就可以发现那一段已经去掉了;

 

以上是关于Jenkins插件获取git分支的方法的主要内容,如果未能解决你的问题,请参考以下文章

41-Jenkins-Git参数实现分支动态选择

jenkins学习10-参数化构建(构建git仓库分支)

jenkins学习10-参数化构建(构建git仓库分支)

在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

流水线中如何获取代码库分支信息

Jenkins持续集成 之 git分支