问题描述
我必须将Jenkins与Azure Devops存储库连接。不幸的是,詹金斯(Jenkins)被公司关押,更改后就无法从存储库中对其进行钩挂。
因此,我最终在管道工作中获得了良好的民意测验。由于该项目使用gradle scm工作流插件来计算版本号和git结构的发布版本,因此我需要让jenkins轮询对标签推送做出反应。
那么,是否有可能使jenkins轮询了解远程的标签推送,这意味着没有完成其他提交?
解决方法
可以通过如下设置refspec
和branch specifier
使jenkins轮询了解标签。但是,如果源中未提交任何更改,则此方法不起作用。请参见此open issue。
refspec: +refs/tags/*:refs/remotes/origin/tags/*
branch specifier: **
您可能需要创建两个jenkins管道,第一个管道将每N分钟运行一次,以执行git tag
作为shell命令并从git中获取所有标签,然后将该标签写入some属性文件中,然后与上次的代码进行比较。如果有新标签,则触发第二个管道。查看对this answer