在Azure DevOps中,是否有GUI方法可以禁用基于YAML的管道中的任务?

时间:2019-12-13 06:13:34

标签: azure-devops yaml azure-pipelines

Azure DevOps的新增功能,并将其用于基础架构作为Code Azure部署。
使用经典发布管道,您可以进入管道,进入阶段,并在该阶段内快速启用/禁用任务

enter image description here

您将如何使用YAML管道做到这一点?

3 个答案:

答案 0 :(得分:1)

现在runtime parameters中有一个GUI选项。 如果取消选中该复选框(请参见下图),则可以将该参数传递给管道。

enter image description here

[据我所知]有三种在任务​​中实现运行时参数的方法,您还可以在作业/阶段中应用大多数逻辑(除了作业/阶段[当前]没有“启用”功能)财产);

parameters:
- name: RunTask
  displayName: Run task?
  type: boolean
  default: true

steps:

- pwsh: Write-Host "always run this task"

- pwsh: Write-Host "skip this task when checkbox unticked..."
  condition: eq(${{ parameters.RunTask }}, true)

- pwsh: Write-Host "skip this task when checkbox unticked..."
  enabled: ${{ parameters.RunTask }}

- ${{ if eq(parameters.RunTask, true) }}:
  - pwsh: Write-Host "skip this task when checkbox unticked..."

答案 1 :(得分:0)

您不能通过GUI真正做到这一点。好吧,您可以,只需用#将它们注释掉即可。在编辑器中

答案 2 :(得分:0)

除了用#注释掉任务外,我在这里还提供另一种解决方法:

您可以尝试设置变量enabled = false,然后在YAML文件中使用该变量。

steps:
- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'
    PublishSymbols: false
  enabled: false
  continueOnError: true

如果以此方式设置,则此任务将不会在作业中运行。

enter image description here

case中提到了此方法,有关详细信息,您可以参考它。