Azure Pipelines 如何为“仅手动”触发版本筛选每个阶段的工件

2024-02-25

假设我有这 3 个阶段:开发、QC、生产。

我的要求是:

  1. 仅来自特定分支(release/*)的工件可以部署到 QC/Prod
  2. 所有分支的工件都可以部署到 Dev

我可以使用它来实现我想要的伪影过滤器对于“后期”触发版本,但我需要这个“仅手动”。

是否有一种解决方法可以让我控制/过滤哪些工件可用于特定阶段/环境的部署?

基本上,我需要相当于的 Azure DevOps八达通频道 https://octopus.com/docs/deployment-process/channels.

Update
我想我已经接近解决方案了。
在“预部署条件”中,我可以添加一个新的部署门来进行 Rest API 调用。 例如URL suffix=/Release/releases/76

现在,我只需要正确解析 ApiResponse,因为下面的成功标准不起作用

eq(root['artifacts[0].definitionReference.branch.id'], 'refs/heads/master')

表达式 'eq(root['artifacts[0].definitionReference.branch.id'], 'refs/heads/master')' 的求值失败。


正如您所说,您可以使用舞台上的部署门来完成此操作。

  1. 从“项目设置”->“管道”->“服务连接”创建新的通用服务连接。
    对于服务 URL 类似https://vsrm.dev.azure.com/{OrgName}/{ProjectName}/_apis

  2. 在您的舞台上,打开预部署条件

  3. 启用盖茨选项。

  4. 添加新的调用 REST API 门并将评估前的延迟设置为 0 分钟。
    4.1 将连接类型设置为“通用”。
    4.2 选择您在步骤 1 中创建的服务连接。
    4.3 设置方法为GET。
    4.4 设置URL后缀为/Release/releases/$(Release.ReleaseId)
    4.5 在“高级”区域,将“完成事件”设置为“ApiResponse”。
    4.6 在“高级”区域中,将成功标准设置为(或开始)
    eq(root['artifacts'][0]['definitionReference']['branch']['id'],'refs/heads/master')

现在,如果您尝试部署不是来自 master 分支的工件,部署将会失败

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Pipelines 如何为“仅手动”触发版本筛选每个阶段的工件 的相关文章

随机推荐

  • 如何对通用列表进行升序或降序排序?

    我有一个 MyImageClass 类型的通用集合 并且 MyImageClass 有一个布尔属性 IsProfile 我想对这个通用列表进行排序 其中 IsProfile true 位于列表的开头 我已经尝试过了 rptBigImages
  • 有没有办法自动构建 Node.js 项目的 package.json 文件

    package json 应该手动编辑吗 像 npm 这样的程序难道不能只浏览文件 查看 require 语句 然后使用它将必要的条目放入 package json 文件中吗 有这样的程序吗 package json 文件用于npm了解您的
  • 克隆泛型类型

    我想克隆一个通用对象并保留其类型 run Append style Clone BlackFont run object accepts only RunProperties objects public T Clone T what if
  • 在 iOS 上的 Safari 中滚动时如何监控滚动位置?

    我目前使用 window bind scroll foo 监视 window scrollTop 并做一些事情来创造视差效果 在所有桌面浏览器中foo 用户滚动的每个像素都会被调用 一切都很好 在 iOS 上的 Safari 中 滚动事件仅
  • 如何使 apk 安全。防止反编译

    我正在开发一个应用程序 它具有 SQLite 数据库来存储必须受到保护的个人信息 有哪些方法可以保护这些个人数据 APK很容易被完全反编译 那么我们如何保证APK的安全呢 另外 如何保护移动应用程序的数据库 基本上 有 5 种方法可以保护您
  • 无法运行宏...该宏在此工作簿中可能不可用

    我试图在不同的工作表上调用子程序 但收到运行时错误消息 具体来说 我有两个工作表和这些工作表中的多个 VBA sub 在其中一个 VBA 项目 例如 workbook1 xlsm 中 我有以下代码 Sub AnalysisTableMacr
  • 如何在 ie7 中使用 jquery 启用禁用的单选按钮

    这在 Firefox 中有效 我怎样才能使它在 IE7 中运行 addressSection input radio attr disabled false 我也尝试过这些但无济于事 addressSection input radio r
  • 使用 Android 调用 .NET Web 服务

    我知道以前曾在这里问过这个问题 但我认为这些答案不足以满足我的需求 我们有一个用于 iPhone 应用程序的 SOAP Web 服务 但我们可能需要 Android 特定版本或该服务的代理 因此我们可以选择使用 SOAP 或 JSON 我对
  • C# 更改特定行的背景颜色

    我已经从网格应用程序 XAML 模板 C Windows 应用商店 创建了一个新项目 到目前为止 我没有更改模板中的任何内容 但我想更改网格中特定行的背景颜色
  • Char 数组 VS Char *

    这是一个基于问题答案的问题 const char myVar 与 const char myVar https stackoverflow com questions 7082175 const char myvar vs const ch
  • 如何命名范围为 0.0 到 1.0 的值?

    我经常使用 0 0 到 1 0 之间的值来保存进度 透明度或其他可以从none to full 如果你愿意的话 可以给个百分比 我不想称其为百分比因为它不表示为 0 到 100 之间的值 为了给我的变量一个清晰的名称 我仍然想描述这种值 什
  • array_unique 有两个数组

    我有两个长度相同的数组 search type search term 我想删除任何重复项 因为存在具有相同类型和搜索词的搜索 即 search type a search type b search term a search term
  • 如何在 nginx 的子目录中安装 symfony2 应用程序

    我需要在同一主机上但不同的子目录 或位置块 上安装多个 symfony2 应用程序 使用此配置 当尝试访问任何 url 时 nginx 会抛出 找不到文件 或重定向循环消息 Example login gt base login app1
  • 遍历数据帧的每一行而不进行迭代

    这是我的示例数据 存货是基于一个Product Customer Product Quantity Inventory 1 A 100 800 2 A 1000 800 3 A 700 800 4 A 50 800 5 B 20 100 6
  • Java 线程运行在哪个处理器上?

    有没有办法使用 Java 本机线程找出您的线程正在哪个处理器上运行 无论是在单个系统上还是在多个系统上 如果没有 有什么图书馆可以提供帮助吗 JVM 的线程调度程序是特定于 JVM 的 因此不存在 通用 解决方案 据我所知 没有任何现成可用
  • Github markdown - 无法通过 inline-css 和 class 更改任何样式

    我尝试更改字体大小和行高但失败 我尝试过内联样式 div style font size 12px line height 12px bla div 和班级 div class footnote bla div 和 Markdown 语法
  • 泄漏服务连接意味着什么?

    我正在为我的 Android 应用程序编写一个服务 我试图了解绑定机制是如何工作的 如果我在活动的 onCreate 中绑定我的服务 但没有在 onStop 或 onDestroy 中取消绑定它 则会收到错误 android app Ser
  • 使用 COUNT 后如何获得其他列上具有相同值的列的平均值?

    我有以下查询 SELECT COUNT id AS number of orders FROM orders WHERE MONTH date 5 GROUP BY item number MONTH date YEAR date 我得到以
  • 使用组合框查询数据库

    我将一周中的所有天都放在组合框中 但是当选择一天时 所有天都显示在我的数据网格中 如何使用组合框中选定的一个值来搜索该值 Private Sub btnViewTimeTable Click sender As Object e As Ev
  • Azure Pipelines 如何为“仅手动”触发版本筛选每个阶段的工件

    假设我有这 3 个阶段 开发 QC 生产 我的要求是 仅来自特定分支 release 的工件可以部署到 QC Prod 所有分支的工件都可以部署到 Dev 我可以使用它来实现我想要的伪影过滤器对于 后期 触发版本 但我需要这个 仅手动 是否