首页 > 解决方案 > Jenkins Git 轮询可以识别标签吗?

问题描述

我必须将 Jenkins 与 Azure Devops 存储库连接起来。不幸的是,Jenkins 被关在了公司的监狱里,并且无法在更改后从存储库中进行 webhook。

所以,我最终在我的管道工作中获得了良好的民意调查。由于该项目使用 gradle scm 工作流插件来计算版本号并从 git 结构创建发布,因此我需要让 jenkins 轮询对标签推送做出反应。

那么,是否有可能让詹金斯轮询知道远程的标签推送,这意味着没有进行额外的提交?

标签: gitjenkinsazure-devopspolling

解决方案


通过设置refspecbranch specifier如下所示,可以使詹金斯轮询知道标签。但是,如果源中没有提交任何更改,则它不起作用。请参阅这个未解决的问题

refspec: +refs/tags/*:refs/remotes/origin/tags/*

branch specifier: **

您可能需要创建两个 jenkins 管道,第一个管道将每 N 分钟运行一次,以git tag作为 shell 命令执行并从 git 获取所有标签,并将标签写入某个属性文件,然后与上次的标签进行比较。如果有新标签,则触发第二个管道。请参阅对此答案的评论


推荐阅读