Jfrog Artifactory发布制品时如何触发Jenkins多分支流水线?
Artifactory Trigger 不触发多分支流水线排查方案
你遇到的情况大概率是遗漏了Artifactory端的webhook配置,完整配置流程和排查点如下:

1. 必须配置:Artifactory 端 webhook 规则
Artifactory Trigger 依赖Artifactory主动推送制品事件触发任务,仅在Jenkins侧开开关无法生效,需要按以下步骤配置:
- 登录Artifactory后台,进入「Administration」→「General」→「Webhooks」页面,新建webhook
- 事件类型选择
Artifact was deployed,可根据需求补充过滤条件,比如仅触发正式版/快照版制品事件 - 目标URL填写格式为
http://<你的Jenkins服务地址>/generic-webhook-trigger/invoke?token=<Jenkins侧触发器配置的token>,token必须和Jenkins侧填写的完全一致 - 路径过滤规则和Jenkins侧监听的制品路径匹配,注意
*匹配单级路径,**匹配多级子路径 - 保存后点击测试按钮,确认Artifactory可以正常访问Jenkins地址,无防火墙、代理拦截问题
2. Jenkins 侧配置排查
- 确认多分支流水线的对应分支
Jenkinsfile中已经配置Artifactory触发规则,或全局多分支配置中已经给对应分支开启触发权限 - 检查Jenkins系统配置中Artifactory服务器的连通性测试是否通过,绑定的账户有对应制品库的读取权限
- 确认路径匹配规则正确,比如要监听
libs-release-local/com/xxx/下所有子目录制品,规则应为libs-release-local/com/xxx/** - 若Jenkins开启了CSRF跨站保护,需要在Artifactory webhook的请求头中添加Jenkins crumb信息,或给Artifactory的IP地址加白名单,允许其不带crumb触发请求
- 查看Jenkins系统日志,搜索Artifactory Trigger相关记录,确认是否收到事件、是否被路径规则/权限拦截
3. 常见踩坑点
- 多分支流水线新增分支后,需要重新扫描分支源,Jenkins才会加载对应分支的触发配置
- 若制品是批量上传的,需确认上传的制品路径、版本号、后缀完全命中监听规则,没有被过滤条件排除
- 若两端服务之间有反向代理,需确认代理没有拦截webhook请求,请求可正常到达Jenkins对应端口
内容的提问来源于stack exchange,提问作者Jose
相关产品推荐
相关产品推荐

