是否可以基于变量创建额外的管道步骤?

2024-01-12

是否可以在 Azure Devops YAML 管道中根据某些变量数据动态创建附加步骤(无需创建我们自己的插件)

问题是我发现我想遍历多个目录,但我不想将所有内容集中在一个步骤中,因为这使得扫描查找错误变得更加困难。


是否可以在Azure Devops YAML管道中动态创建 基于一些可变数据的附加步骤(无需创建我们自己的 插入)

不,Yaml 管道 (azure-pipeline.yml) 受版本控制。所以你想要的(对于你的原始标题)是动态提交对azure-pipeline.yml执行管道时的文件。这不是推荐的工作流程。

1.相反,你可以考虑使用动态启用/禁用附加步骤。

  • 或者使用一些:

    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
    

2.如果您没有使用条件,您可以检查条件模板 https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#parameters-to-select-a-template-at-runtime as Simon上面建议。

此外,#1 和 #2 都可以使用新功能.

3.但是,如果您指的动态变量来自以下结果components = result of ls -1 $(Pipeline.Workspace)/components命令,上述提示不适用于这种情况。为此,你可以尝试这样的事情:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # Write your PowerShell commands here.
      # some logic to run `components = result of ls -1 $(Pipeline.Workspace)/components` and determine whether to set the WhetherToRun=true.

      'Write-Host "##vso[task.setvariable variable=WhetherToRun]True"'

- task: CmdLine@2
  inputs:
    script: |
      echo Hello world
  condition: eq(variables['WhetherToRun'], 'True')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以基于变量创建额外的管道步骤? 的相关文章

随机推荐

  • 如何使用 Jersey 2.x 设置连接和读取超时?

    在球衣 1 中我们有一个函数设置连接超时 https jersey java net apidocs 1 1 5 jersey com sun jersey api client Client html setConnectTimeout
  • 切换选项卡时倒计时器停止

    因此 基本上 当我切换选项卡时 特定页面上的倒计时器会停止倒计时 并在您返回选项卡时恢复 无论如何 有没有办法减轻这种情况 以便它在后台计数或计入您在另一个选项卡上花费的时间 这基本上就是我对 js 的看法 document getElem
  • gganimate 中框架标题的自定义列

    我想在 gganimate 标题中使用自定义列 但无法在文档中的任何位置阅读如何操作 使用其页面中的代码的示例 library gapminder ggplot gapminder aes gdpPercap lifeExp size po
  • 如何在 Inno Setup 中制作停止和暂停/恢复/播放音乐按钮

    我想在所有页面的左下角创建两个彼此相邻的按钮 例如重新加载 第一个按钮显示Pause和Resume命令 如果我单击Pause 按钮将切换到Resume自动地 另一个按钮显示Stop命令 如果我单击Stop 下一个按钮将切换到从头开始播放自动
  • 使用 boto3 中的 IAM ARN 连接到 s3 存储桶

    我正在尝试使用 IAM 角色连接到 s3 存储桶 我的存储桶名称是 test bucket 我创建了一个名为 的角色 我的角色 s3并赋予其完整的 s3 访问权限 即 AmazonS3FullAccess 当我尝试使用代码访问存储桶的名称时
  • 使用 HTTPS 进行应用程序无线安装不起作用

    我知道一般情况下通过 HTTPS 安装是有效的 但不知何故它在我的环境中不起作用 据我了解 itms service 链接是 HTTP itms services action download manifest url http SERV
  • 如何在 PHP 中手动解析 HTTP(S) 连接中的主机

    Curl 具有手动指定将主机解析到哪个 IP 的功能 例如 curl https www google com resolve www google com 443 173 194 72 112 这在使用 HTTPS 时特别有用 如果只是一
  • 使用 LINQ 获取序列的奇数/偶数部分

    假设我有一份全部清单Projects 我将它们分组为Category像这样 var projectsByCat from p in Projects group p by p Category into g orderby g Count
  • PHP 图像 URL 从 /building.php?1=2816 到 /picture 2816.png?

    如何将 URL 从 PHP 扩展名更改为 PNG 扩展名 我正在制作一个图像生成器 供用户在论坛上发布他们的测试分数 不过 主要目标论坛不允许在图像中使用 php 扩展名 我如何更改此网址 http everythingtutorials
  • 如何使用开发标志启动节点应用程序?

    我在 app js 文件的顶部放置了 NODE ENV development 但我收到 NODE ENV 未定义的错误 但在nodejs文档中说NODE ENV是全局的 如何使用开发设置启动我的应用程序 谢谢 最好在开发模式下启动您的应用
  • PHP 聊天机器人:Google Talk

    我想知道如何通过特殊客户端为 Google Talk 创建聊天机器人 我知道它使用XMPP发送消息 但我根本不知道如何使用它 据我了解 如果我要创建自己的客户端页面 我应该能够创建一个机器人 当我离开时它会为我聊天 该页面将使用我的数据解析
  • Jmeter JSON 路径断言

    下面是我的 JSON 响应数据 我需要使用下面的响应进行断言 我尝试了多种方式来编写 JSON 路径和期望值 断言总是失败 我想要的是请帮忙写出以下数据的路径和期望值 statusCode 200 statusMessage Success
  • IE 11 - 日期不起作用[重复]

    这个问题在这里已经有答案了 new Date toLocaleDateString en US 8 17 2018 new Date 8 17 2018 valid date new Date new Date toLocaleDateSt
  • EditText LiveData 双向绑定

    好的 所以我有一个ViewModel带吸气剂getTitle 返回MutableLiveData
  • 使用“PreviousNode”的 C# LINQ xml 解析

    在 SO 的帮助下 我成功地组合了以下 LINQ 表达式 var parentids xliff Descendants Elements xmlns trans unit Elements xmlns seg source Element
  • Spark scala 抛出 java.util.NoSuchElementException:找不到密钥:0 异常

    我有一段 Spark scala 代码 如下所示 val conf new SparkConf setAppName MatrixInversion setMaster local val sc new SparkContext conf
  • jQuery 无法在 AJAX 加载的 DIV 中工作

    在我的文档的 HEAD 中 我加载了 jQuery js 以及 blockUI jQuery 插件 然后 在 PHP 中 我使用常规 AJAX 将其他 PHP 内容加载到 DIV 中 在原来的 PHP 中 jQuery 和 blockUI
  • 在哪里可以下载 MGTwitterEngine for iphone sdk

    这是 MGTwitterEngine 页面代码 但我怎样才能下载它 并有任何示例代码吗 http svn cocoasourcecode com MGTwitterEngine 1 0 8 http svn cocoasourcecode
  • 为什么 Scala 说看不到 org.joda.time.Period 的成员?

    我正在编写一个 Scala 脚本 它使用乔达时间 http www joda org joda time 2 0 当我尝试运行脚本时 出现如下错误 error value weeks is not a member of object or
  • 是否可以基于变量创建额外的管道步骤?

    是否可以在 Azure Devops YAML 管道中根据某些变量数据动态创建附加步骤 无需创建我们自己的插件 问题是我发现我想遍历多个目录 但我不想将所有内容集中在一个步骤中 因为这使得扫描查找错误变得更加困难 是否可以在Azure De