[Jenkins]5分钟系列之二动态获取代码分支和tag

2020-07-06 16:15:47 浏览数 (1)

一、准备工作

1.1、环境准备

软件

版本

功能

jenkins

2.95

提供平台

插件

groovy-postbuild

执行Groovy

插件

postbuild-task

执行Groovy

插件

uno-choice

动态选择工具

插件

role-strategy

基于角色的权限控制

插件

git-parameter

git分支获取

1.2、效果图展示

二、实现方式

2.1、基于Dynamic Parameter Plug-in插件实现
代码语言:javascript复制
由于插件本身的安全问题,在Jenkins的插件管理中心已经找不到了~
2.2、基于git-parameter插件实现

2.2.1、演示项目

项目名称

地址

daohang

https://github.com/zhuima/daohang

开源项目

功用

内部导航地址

2.2.2、实现方式

2.2.3、点评

代码语言:javascript复制
加载速度有点慢
可以列出所有的tag和Branch
2.3、基于Active Choices Plug-in插件实现(五星推荐)

演示项目

项目名称

地址

jumpserver

https://github.com/jumpserver/jumpserver

开源项目

功用

堡垒机、跳板机

2.3.2、说明

代码语言:javascript复制
本工具可以媲美Dynamic Parameter Plug-in插件

2.2.2、实现方式

2.3.3、点评

代码语言:javascript复制
实现方式比较优雅
能用groovy的场景一定要立马使用

2.3.4、涉及代码

代码语言:javascript复制
def gettags = ("git ls-remote -h https://github.com/jumpserver/jumpserver.git").execute()
gettags.text.readLines().collect { it.split()[1].replaceAll('refs/heads/', '')  }.unique()

0 人点赞