You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ACR与Azure DevOps流水线联动:新镜像触发及Webhook设置

配置ACR镜像推送自动触发Azure DevOps流水线

1. 获取Azure DevOps服务挂钩的触发URI

  • 打开你的Azure DevOps项目,点击左下角「项目设置」
  • 左侧菜单选择「服务挂钩」,点击「创建订阅」
  • 在服务类型列表里选「Azure 容器注册表」,点击「下一步」
  • 触发器配置:选择要关联的ACR实例,勾选「镜像推送」事件,按需设置镜像标签过滤规则(比如prod-*只触发生产标签镜像,*则触发所有)
  • 操作配置:选择要触发的目标流水线,确认配置后,复制页面上的服务挂钩URL——这个就是后续ACR Webhook需要填写的POST通知URI

2. 配置ACR的Webhook

  • 登录Azure门户,进入目标ACR实例
  • 左侧菜单选择「Webhook」,点击「添加」
  • 填写Webhook参数:
    • 名称:自定义命名(比如devops-pipeline-trigger)
    • 服务URI:粘贴刚才从Azure DevOps复制的服务挂钩URL
    • 触发事件:仅勾选「镜像推送」(避免不必要的触发)
    • 作用域:可指定特定仓库或标签(比如myapp:*,留空则对所有镜像生效)
  • 点击「创建」,可通过「测试」按钮验证Webhook是否能正常向Azure DevOps发送请求

3. 流水线YAML的补充配置

默认情况下,服务挂钩触发的流水线不需要额外YAML声明,但可以添加条件限制或获取镜像信息:

  • 若要关闭代码提交触发,仅保留ACR推送触发:
trigger: none # 禁用代码源触发

jobs:
- job: Deploy
  condition: eq(variables['Build.Reason'], 'ResourceTrigger') # 仅当资源触发(ACR推送)时运行
  steps:
  - script: echo "触发镜像:$(ACR.Image),标签:$(ACR.Tag)"
    displayName: 打印ACR镜像信息
  • 系统会自动传入ACR相关变量,比如$(ACR.Image)(完整镜像名)、$(ACR.Tag)(镜像标签),可直接在步骤中使用

内容的提问来源于stack exchange,提问作者Vaish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:00:56