打包和发布扩展

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

开发完扩展后,可以将其打包并发布到 Visual Studio Marketplace。 应用市场是一个全球性资源库,存储来自 Microsoft 的专用和公共扩展程序、集成以及其他产品/服务。

注意

有关你的扩展程序清单文件中提供的发现属性的信息(这些属性有助于用户发现并了解你的扩展程序),请参阅扩展程序清单参考

先决条件

在发布到 Marketplace 之前,必须满足以下要求列表。

类别 要求
打包工具 安装扩展打包工具 (TFX)。 从命令提示符运行 npm install -g tfx-cli
图像权限 确保你有权使用任何图像,如图标、徽标、屏幕截图等。
市场概述 包括一个全面的 overview.md 文件,以描述您在市场中上架的产品。
扩展图标 包括表示集成、公司或组织的扩展的图标,大小至少为 128x128 像素(PNG 或 JPEG)。
Microsoft产品名称 对Microsoft产品使用全名(例如,Azure DevOps 而不是 AzDO 或其他缩写)。
品牌名称 请勿在扩展名称中使用品牌名称。

创建发布商

每个扩展或集成(包括来自Microsoft的扩展或集成)都必须具有发布者。 任何人都可以创建发布者并在其下发布扩展。 还可以与其他用户(例如开发团队)共享发布者访问权限。

  1. 登录到 Visual Studio Marketplace 发布门户

  2. 如果你不是现有发布者的一部分,请选择“ + 创建发布者”。
    输入发布者名称;根据条目自动填充 ID 字段。

    显示了突出显示的按钮“创建发布者”的屏幕截图。

    注意

    • 对于多字节字符,请确保发布者名称在 16 个字符之内。
    • 保存发布者 ID:需要在扩展的配置文件中使用它。

    如果未提示创建发布者,请滚动到“相关网站”下的“发布扩展”。

    • 设置唯一的发布者标识符,例如 mycompany-myteam。 请在清单中的 publisher 属性中使用此值。
    • 设置显示名称,例如 My Team
  3. 查看 市场发布者协议,然后选择“ 创建”。

    为扩展创建发布者

创建发布者后,可以管理项目,尽管发布前不会显示任何项目。

打包扩展

若要上传扩展,请将其打包为与 VSIX 2.0 兼容的 .vsix 文件。 Microsoft 提供了一个跨平台命令行界面 (CLI) 来打包和发布扩展。

  1. 打开扩展清单文件 (vss-extension.json),将 publisher 字段的值设置为发布者的 ID。 例如:

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. 在命令提示符下,从扩展目录运行 TFX 工具的打包命令。

    npx tfx-cli extension create
    

    系统将显示一条消息,指示扩展已成功打包:

    === Completed operation: create extension ===
    - VSIX: C:\my-first-extension\AnnetteNielsen.my-first-extension-1.0.0.vsix
    - Extension ID: my-first-extension
    - Extension Version: 1.0.0
    - Publisher: AnnetteNielsen
    

注意

每次更新时,都要在清单中增加扩展或集成的版本。
使用 --rev-version 命令行开关。 此开关递增扩展的 补丁 版本号,并将新版本保存到清单。

检查包大小

在 vsix 打包完成后,检查其大小。 如果大于 50 MB,则需要对其进行优化。 为此,请参阅以下注意事项:

  • 通过在扩展包中声明一次删除重复的常见依赖项。
  • 在运行时或安装期间提取依赖项,而不是将它们包含在包中。 请考虑使用工具安装程序库在运行时拉取工具依赖项。 此方法按版本缓存工具以供专用代理使用,避免每次构建都下载。 工具安装程序库在断开连接的方案(无 Internet)中不起作用,应在任务说明或文档中提及。
  • 在任务中使用 WebPack 来去除未使用的依赖项(进行摇树优化)。

发布扩展

一旦扩展被打包,就可以将其上传到发布者下的 Marketplace。 在publisher中指定的 标识符必须与上传扩展的发布者的标识符匹配。

  1. 管理门户中,从页面顶部的下拉菜单中选择发布者。

  2. 选择新建扩展>Azure DevOps

    显示了“新扩展”下拉菜单和突出显示的 Azure DevOps 选择的屏幕截图。

  3. 拖放文件或选择文件以找到在上一个打包步骤中创建的 VSIX 文件,然后选择“上传”

    显示为 Azure DevOps 上传新扩展程序的屏幕截图。

    快速验证后,扩展将显示在已发布的扩展列表中。 别担心,扩展仅对你可见。

    显示了已发布扩展列表中的扩展的屏幕截图。

此时,你的扩展对任何帐户都不可见。 若要使它对其他人可见,需要共享扩展。

注意

Microsoft 对发布的每个新的和更新的扩展都运行病毒扫描。 在扫描结果完全清除之前,我们不会在“Marketplace”上发布扩展供公众使用。 这样,我们也可以避免在 Marketplace 页面上出现不恰当或冒犯性的内容。

分享扩展

在 Azure DevOps 中安装扩展之前,请与组织共享扩展。 若要共享扩展程序,请执行以下任务:

  1. 在“Marketplace 管理门户”中,从列表中选择扩展,右键单击,然后选择“共享/取消共享”或“发布/取消发布”,

    菜单选择“共享/取消共享”的屏幕截图。

  2. 选择“组织”,然后输入组织的名称。 按 Enter。

    “输入”按钮的屏幕截图。

  3. 关闭面板。

扩展程序现在可以安装到此组织中。

安装扩展

若要安装共享扩展,请执行以下步骤。

  1. 在 Marketplace 中,选择扩展以打开其概述页。

    “概述”页面的屏幕截图。

    注意

    由于扩展是专用的,因此只有你和与之共享的组织成员才能看到此页面。

  2. 选择“免费获取”以启动安装过程。 从下拉菜单中选择与你共享扩展的组织。

    显示扩展安装对话框的屏幕截图。

  3. 选择“安装”

祝贺你! 你已将扩展安装到组织中,并已准备好试用。

试用扩展

  1. 在安装向导结束时选择“转到组织”,转到安装扩展的组织的主页 ()。https://dev.azure.com/{organization}

  2. 刷新浏览器。

  3. 打开组织设置,然后选择扩展

    “组织设置”“扩展”页的屏幕截图。

应在“已安装”选项卡上看到新扩展。

调试扩展程序

若要使用 Visual Studio 或浏览器开发人员工具调试扩展,请通过添加 baseUri 属性来更改清单。 此操作加快了开发速度,而无需每次更改源代码时重新部署扩展。

{
    ...
    "baseUri": "https://localhost:44300",
    ...
}

更改清单时,它会从本地 Web 服务器实例加载扩展。 例如,Visual Studio 中的 IISExpress。 更改清单后,只部署和安装此调试扩展一次。

注意

在 SSL 模式下运行本地 Web 服务器,因为 Azure DevOps 要求从安全源提供网页。 否则,在扩展 IFRAME 加载期间,浏览器控制台中会出现错误。

更新扩展

若要更新已发布的扩展,请执行以下步骤:

提示

更新扩展,而不是删除并重新上传扩展。 我们建议维护两个扩展: publisher.extension 是在市场中公开供客户使用的扩展,而 publisher.extension-dev 是私人扩展,仅与您的组织共享,用于开发和测试。 不需要两个源代码副本, 只需为每个扩展维护单独的清单文件。 打包时,向 tfx-cli 工具提供相应的清单文件。 有关详细信息,请参阅 TFX 扩展命令

  1. 从显示的项列表中选择扩展。
  2. 右键单击并选择更新以更新开发版本,例如publisher.extension-dev
  3. 验证扩展程序。
  4. 对生产版本应用相同的更新,例如 publisher.extension
  5. 找到您扩展的 .vsix 文件并上传它。

Azure DevOps 会自动安装已具有扩展的所有帐户的更新版本。 新安装还会收到最新版本。

公开扩展程序

在为 Marketplace 开发扩展或集成时,请将其保密。 这会将扩展的可见性限制为已与之共享的特定帐户。

若要公开提供扩展程序,请在清单中将 public flag 设置为 true

认证

要在 Marketplace 上公开上市,集成或扩展必须符合以下资格:

  • 与 Azure DevOps 配合使用或扩展程序其功能。
  • 你或你的公司拥有、开发并被授权分发和宣传集成或扩展。
  • 该扩展程序或集成处于积极维护状态。

Microsoft 还可能要求演示并查看为你的 Marketplace 条目计划的内容。

最佳发布者

“最佳发布者”计划仅适用于具有 Azure DevOps 扩展或集成的发布者。 不适用于 Visual Studio IDE 和 Visual Studio Code 扩展发布者。

最佳发布者徽章的屏幕截图。

“最佳发布者”计划通过模范策略、质量、可靠性和支持来表彰对客户和 Marketplace 做出承诺的发布者。 成为“最佳发布者”后,所有公开产品/服务都会显示“最佳发布者”徽章。

“最佳发布者”要求

Marketplace 中的“最佳发布者”计划旨在帮助你自信地评估或获取 Azure DevOps 扩展和集成。 “最佳发布者”徽章意味着发布者通过模范策略、质量、可靠性和支持向客户和 Marketplace 做出承诺。 它适用于具有一个或多个全局 Azure DevOps 扩展或集成的发布者,不适用于 Visual Studio IDE 和 Visual Studio Code 扩展发布者。

Marketplace 在仔细审查发布者的以下参数后,将徽章分配给发布者:

  • 隐私策略
  • 许可策略
  • 支持策略
  • 文档
  • 问答响应能力
  • 其产品/服务的评级和评论
  • 其产品/服务的活跃下载和安装数量
  • 管理 Azure DevOps 的至少一个公共扩展
  • 具有超过 5,000 次安装和超过 1,000 次活跃安装的公共扩展

当你从“最佳发布者”那里获得扩展时,你可以期待获得及时的支持和良好的整体体验。 查看来自“最佳发布者”的产品/服务。

有关将策略添加到产品/服务的详细信息,请参阅扩展清单

  1. 更新发布者配置文件。

    通过发布者配置文件,可以在一个位置展示你的所有产品/服务以及与发布者相关的关键信息。 若要提供显示在配置文件中的信息,请执行以下步骤:

    a。 使用你在 Visual Studio Marketplace 中发布和管理产品/服务的帐户登录到 https://marketplace.visualstudio.com/manage/publishers

    b. 选择发布者,并完成“详细信息”选项卡中的“关于你”部分。 Microsoft 发布者关于你的部分的屏幕截图。 c. 保存更改,然后选择“查看配置文件”,以查看其对使用者的显示方式。 您可以使用这个个人主页来推广您的产品或服务。

注意

此计划会认证发布者,而不是其扩展和集成的软件或安全性。 建议在评估发布者的产品/服务时查看 安全信息 。 如果你从最佳发布者获得了扩展,却对体验感到不满意,请考虑先与发布者接洽。

申请成为最佳发布者

  1. 使用在市场中发布和管理产品/服务的帐户登录到 市场管理门户
  2. 选择发布者并转到其 “顶级发布者 ”选项卡。让选项卡显示一个或多个全局 Azure DevOps(服务器/服务)扩展或集成。
  3. 如果满足之前列出的要求,并且是出版商的拥有者,则可以申请该项目。 申请后,会向市场团队发送一封电子邮件,以审查你的案例。 他们在 10 个工作日内回答后续步骤、澄清问题或授予徽章。

在授予徽章之前,团队可能会考虑其他参数,例如您的产品/服务的积极采纳率、安装量和启动次数,以及评分与评论。 Microsoft随时保留授予、拒绝或撤销顶级发布者徽章的权利。

发布者是顶级发布者后,其所有未来的更新和产品/服务必须满足之前列出的要求。

回复应用市场中对扩展程序的评论

你可以在 Visual Studio Marketplace 中回复客户针对你的扩展留下的评论。 如果你拥有以下权限之一:所有者、创建者或参与者,请在评论旁边查找并选择“回复”。

你只能留下一条回复。 避免将评论用作支持论坛。 如果需要更多详细信息,请提供供评论者联系的支持别名。 然后,你可以从外部解决他们的问题,并通过解决方案更新你的回复。

发布者响应指南

让 Visual Studio Marketplace 成为一个开放、吸引人、尊重和乐于助人的地方,供客户查找、试用、安装和查看扩展。 沟通在保持社区健康方面起着重要作用。 为了帮助创建此环境,下面提供了发布者响应客户评论的指南。 深入思考你的客户互动,并反思 Marketplace 试图创造的客户体验精神。

  • 为客户评论预留评审空间。 仅使用“回复”来响应评论。
  • 尊重所有客户意见。 在没有辩论、批评或争论的情况下将评论视为反馈。
  • 确保响应增加价值,并与客户的评论相关。
  • 专注于精确地解决问题或难题。 如果需要更多详细信息,请让客户通过电子邮件与你联系,而不是在评论中讨论。 解决问题时,请使用解决方法更新回复。 你可以编辑回复,就像客户可以编辑他们的评论一样。
  • 标记任何不适当的评论,如垃圾邮件、滥用或冒犯性内容,以供我们的评论。

请求撤销评论

作为发布者,如果报告的问题是由于 Marketplace 或基础平台造成的,你可以上诉撤销评论。 如果问题属实,Marketplace 管理员将撤销评级。 可以在扩展中心页面的评级和评论部分“上诉”。

取消发布扩展

如果不再需要在市场中提供免费扩展,可以取消发布免费扩展。

在以下情形中,请考虑从应用市场中移除你的扩展程序:

  • 你开发了一个新的扩展,不再想要提供当前扩展。
  • 扩展有问题,并且你想要将其从市场中删除,直到解决问题。
  • 错误地将扩展发布为公共扩展。

要取消发布或删除扩展,必须满足某些标准:

Action 要求
取消发布 免费扩展可以取消发布。
移除 你的扩展程序必须拥有零 (0) 次安装记录,才可以被移除。

重要

如果因法律或安全问题而必须删除扩展,请联系开发人员社区的客户支持。 我们会审查请求,然后手动删除扩展。

  1. 在你的“发布者页面”上选择扩展,然后在菜单上选择“取消发布”。

    你的扩展将立即从 Marketplace 中取消发布,新用户无法安装它。 你的扩展程序的评级和评论将保持不变。

若要在市场中再次提供扩展,请从菜单中选择 “发布 ”。

如果扩展没有安装,可以选择将其完全从市场中删除。 为此,请从菜单中选择“ 删除 ”。 无法撤销此操作。

扩展报告中心

在 Visual Studio Marketplace 中提供扩展后,可以使用 “报表 ”功能。 使用此功能,可以跟踪和分析扩展的执行方式并采取所需作。 若要访问扩展中心,请浏览到 发布者页面 ,然后选择扩展详细信息页上的“ 报表 ”链接。

购置

可以在此选项卡中查看所选时间段内与购置相关的数据。

  • 总体购买的选定时间段内的聚合购买
  • 按 Azure DevOps 连接安装以获取免费扩展的扩展下载量拆分的聚合购买
  • 按 Azure DevOps 连接购买以获取付费扩展的试用版拆分的聚合购买
  • Azure DevOps 及连接服务器的购买扩展页面浏览量的每日趋势
  • 从页面浏览量到用户获取的转化率

对于付费扩展,购买和试用的所有交易详细信息都提供日期、组织名称、试用结束日期和数量。 可以使用 “联系人” 作与用户通信。 有关详细信息,请参阅本文后面的 “联系人” 部分。

卸载

可以查看以下统计信息:

  • 有多少组织卸载了您的扩展?
  • 卸载扩展的每日趋势
  • 卸载期间共享的详细反馈
  • 首要卸载原因

可以使用搜索文本和日期来分析和从详细反馈中获取更多见解。

对于付费扩展,可以使用 “联系人” 作与用户通信。 本文稍后提供的“联系人”部分提供了更多详细信息。

评级和评论

此选项卡提供以下信息:

  • 所选时间段的平均评分与总体评分
  • 按审阅者数计算的平均评分
  • 平均评级的每日趋势

详细信息部分在事务视图中提供所有评论和回复。

可以回复评论或编辑以前的响应,并更好地管理与扩展用户的互动。 如果报告的问题是由于市场或基础平台,还可以 呼吁 取消评级。 如果问题有效,我们将取消评级。

管理参与度

“问答”选项卡展示了扩展用户所有问题的快照,未回复的问题显示在顶部。 可以回复或编辑以前的响应,以便更好地管理与扩展用户的参与。

导出到 Excel

报表页中提供的所有数据元素也可以 XLS 格式下载,以帮助创建自己的自定义报表。

联系人​​

对于付费扩展,可以使用 “联系人” 作与用户通信。 此功能仅适用于在扩展上具有参与者+ 访问权限的发布者。

市场代理与用户进行第一次通信,因为我们的隐私策略不允许直接共享客户电子邮件地址。 只有选择加入通信的用户才能收到电子邮件。 发送沟通后,组织的最后联系日期会被更新。

重要

遵循有关事务和促销沟通的指导。 发现发布者正在发送促销通信或垃圾邮件给用户,将被列入阻止名单,并失去对其所有扩展程序的 联系人功能的访问权。

事务通信:传达继续使用扩展或服务所需的关键信息的电子邮件,例如:

  • 关键安全通知
  • 交易确认
  • 产品召回通知
  • 特定反馈请求
  • 服务停用通知

促销电子邮件:用于营销扩展、产品、服务、网站或活动的电子邮件,例如:

  • 活动或网络广播的邀请
  • 有关新营销或合作伙伴计划的信息
  • 提供获取增值内容的机会
  • 包含促销内容的新闻稿

有关详细信息,请参阅 市场发布者协议

术语 DESCRIPTION
页面浏览量 扩展详细信息页面的浏览总次数。 重复观看次数会被计入。
Azure DevOps 服务安装 安装扩展的组织总数。 在同一组织中,重复安装会被计数。
Azure DevOps Server 安装 安装扩展的集合总数。 对同一集合的多次安装会被计数。 断开连接的服务器数据不可用。