You need to enable JavaScript to run this app. Azure DevOps 2019 如何通过SQL表查询所有发布Copy File任务的目标服务器
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps 2019 如何通过SQL表查询所有发布Copy File任务的目标服务器

Azure DevOps 2019 1.1 发布任务配置查询方案

可用的系统数据源

所有发布流水线的配置都存在DevOps配套的SQL Server实例的系统库中,不需要手动逐个打开项目、逐行翻发布定义做统计。

  • 发布定义的基础信息存储在[dbo].[tbl_Definition]表中,和发布阶段、任务配置通过[dbo].[tbl_DefinitionEnvironment]表关联
  • 所有任务、步骤、阶段的参数没有拆成独立的关系表存储,全部以序列化JSON的形式存在对应表的配置字段里,查询时需要做JSON解析才能拿到具体参数值

目标服务器地址提取方法

  • 先匹配所有文件拷贝类任务:
    • 团队当前主用的标准Copy File任务,在配置里的固定任务唯一标识是CopyFile,在JSON结构里匹配这个标识对应的节点,就是要找的目标任务
    • 老版本遗留的、用机器组部署跑的文件拷贝任务,任务标识是CopyFilesOnMachineGroup,这类任务的参数嵌在部署组阶段的嵌套配置里,需要单独做匹配,不要漏统
  • 从匹配到的任务节点里,找参数字段TargetFolder,这个字段存的就是类似\\servername\inetpub\site的UNC目标路径,也就是需要统计的目标服务器地址
  • 特殊值处理:
    • 如果读到的TargetFolder值是变量占位格式(比如$(FrontEndShare)),需要关联系统里的流水线变量、部署组变量的存储表,把占位变量替换成实际配置的真实值,不能直接把占位字符串算成实际地址
    • 2019 1.1的兼容提示:如果对接的SQL Server是2016及以上版本,可以直接用内置JSON函数高效提取;如果是更早的SQL版本,直接用字符串截取、正则匹配的方式定位TargetFolder字段周围的内容即可,不需要额外装解析组件

实操注意事项

  • 所有查询全程用只读权限执行,绝对不要尝试修改系统表的任何内容,避免误操作损坏现有流水线配置
  • 最终拿到的地址列表统一做去重处理,同一个共享路径往往会被多个项目、多个发布流程重复引用
  • 提前排查YAML格式的流水线:2019 1.1刚开始支持基础YAML发布,这类配置不在前面提到的发布定义JSON表中,内容存在代码仓库的流水线配置文件里,需要单独解析补全统计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 15:36:03