我可以让Jenkins从传入的参数构建git标记吗?

我可以让Jenkins从传入的参数构建git标记吗?,git,tags,jenkins,Git,Tags,Jenkins,Jenkins支持参数化构建 我有一个部署构建,它要求通过参数指定要部署的标记。(将特定标记部署到生产环境) 有没有一种简单的方法可以使用git插件实现这一点 我尝试添加一个参数TAG_NAME,然后将作业的git plugin部分中的branch_说明符设置为$TAG_NAME。 不起作用。我得到: ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for thi

Jenkins支持参数化构建

我有一个部署构建,它要求通过参数指定要部署的标记。(将特定标记部署到生产环境)

有没有一种简单的方法可以使用git插件实现这一点

我尝试添加一个参数TAG_NAME,然后将作业的git plugin部分中的branch_说明符设置为$TAG_NAME。 不起作用。我得到:

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

有什么想法吗?

将构建参数化,并在git URL框中输入您定义的变量名称。例如:
${GIT\u URL}
。这应该就可以了。

将成为一个很好的话题,因为这是谷歌的头号话题。 在这个问题上花了一些时间。。。 简短答复: 可扩展选择插件+groovy脚本。这样可以使下拉菜单中已经充满了现有的标签

def gettags = "git ls-remote -t git@github.com:mycompany/com.someproject.git".execute()
def tags = []
def t1 = []
gettags.text.eachLine {tags.add(it)}
for(i in tags)
    t1.add(i.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', ''))
t1 = t1.unique()
return t1
长答案

有一个,它允许您准确地执行以下操作:

此插件允许您将git标签或修订号指定为 参数化生成中的参数。没有必要设置任何东西 特别是,这个插件将从Git读取您的默认配置 插件


我尝试使用Git参数插件,但对于V0.3.2不适用于发行版(repo的sha1),我使用的是Git参数插件的0.4.0版本,但它似乎没有使用Git服务器的SSH凭据,因此在尝试获取所有Git标记时出错。看,我根本无法让它工作,所以我使用了可扩展选择插件和一个PHP脚本,在链接的问题上看我自己的答案。出于好奇,如果将标记指定为参数,${GIT_URL}变量会是什么样子?我是Jenkins+Git的新手,抱歉这个愚蠢的问题。这对我不适用。就像Git参数插件一样,我认为这个插件没有考虑SSH凭据。在任何情况下,我在下拉列表中都找不到任何项目。以
def gettags
开头的行对我不起作用,因为git不知道SSH,我无法向jenkins用户添加
.SSH/config
文件。请看我自己的答案