Jenkins从两个存储库中获取标记

时间:2017-09-07 15:57:55

标签: git jenkins

我只想从同一个Job中的两个不同的git存储库中获取Tag。 没有插件可以做到吗?

2 个答案:

答案 0 :(得分:0)

尝试使用Extensible Choice Plugin和自定义Groovy脚本来获取标记。

在您的构建配置中,添加Extensible Choice参数,选择System Groovy Choice Parameter作为选择提供商并插入以下脚本:

def tags = []
"git ls-remote -t <YOUR-REPO-URL-HERE>".execute().text.eachLine {
    tags.add(it.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', ''))
}
tags = tags.unique().reverse()
return tags

该脚本将使用标记名称动态填写选择参数的选择框。 你可以添加尽可能多的参数。

答案 1 :(得分:0)

使用ssh连接解决了这个问题。

我将我的公钥放在我的gitlab上,并使用ssh url在我的groovy脚本上建立连接。