求助:Gitea标签变更时无法触发Jenkins多分支流水线任务
以下是针对性的排查和修复步骤:
检查多分支流水线的分支源配置
多分支流水线的Gitea分支源默认仅开启「发现分支」,需手动勾选**「发现标签」**选项。另外,refspec: '+refs/tags/*:refs/remotes/origin/tags/*'要配置在分支源的「高级」设置中(而非Jenkinsfile内),确保Jenkins能拉取到所有标签引用。验证Poll SCM的Cron表达式
确认Poll SCM的Cron表达式格式正确,比如使用H/5 * * * *(每5分钟轮询一次,H为随机偏移避免负载集中)。若表达式格式错误或间隔过长,会导致Jenkins无法及时检测到标签变更。同时检查Jenkins服务器能否正常访问Gitea仓库,确保网络连通性正常。配置Gitea仓库的Webhook(替代/补充Poll SCM)
Poll SCM属于被动轮询,可靠性和及时性不如Webhook。在Gitea目标仓库的「设置-Webhooks」中,添加指向Jenkins的Webhook(URL为http://<Jenkins地址>/gitea-webhook/post),事件类型勾选**「创建标签」和「删除标签」**,让Gitea在标签变更时主动通知Jenkins。检查Jenkinsfile的分支/标签过滤逻辑
查看Jenkinsfile中的when条件或分支配置,是否存在过滤规则排除了标签。比如若仅配置branches: ['master', 'develop'],只会触发分支流水线,需添加tags: ['*']匹配所有标签,或指定特定标签规则(如tags: ['v*'])。查看Jenkins扫描日志排查问题
进入多分支流水线页面,点击「扫描多分支流水线日志」,查看是否有识别到标签变更的记录,或是拉取标签失败的报错(如权限不足、refspec配置错误)。也可在Jenkins「系统日志」中搜索gitea「tag」等关键词定位问题。确认Gitea插件版本兼容性
若上述步骤无效,检查Gitea插件版本与当前Jenkins版本是否兼容,尝试升级Gitea插件到最新稳定版,避免因插件bug导致触发失效。
内容的提问来源于stack exchange,提问作者Vrops

