根据Azure发布管道中angular.json中的值“运行此作业”

时间:2020-11-11 06:24:21

标签: angular azure azure-devops azure-pipelines azure-pipelines-release-pipeline

是否有任何方法可以基于angular.json中的值停止Azure CI / CD管道

enter image description here

仅当“ defaultProject”包含angular.json文件中的“ pos-ac-pos”时,才需要运行管道。

1 个答案:

答案 0 :(得分:0)

您可以添加脚本任务来检查defaultProject的值。如果该值不是pos-ac-pos,则可以手动停止管道。对于powershell脚本中的以下示例:

steps:
- powershell: |
   $angular = (Get-Content "$(system.defaultworkingdirectory)/angular.json" -Raw) | ConvertFrom-Json
   
   if ($angular.defaultProject -ne "pos-ac-pos"){
   
     exit 1
   }
  displayName: 'PowerShell Script'

如果添加Powershell任务以在管道中的脚本上方运行。当defaultProject不是pos-ac-pos时。该任务将失败并停止管道。

您还可以使用上述脚本任务将新管道创建为触发管道,以检查defaultProject的值。如果脚本任务成功,则使用Trigger Build taskrest api来触发您的主管道。参见以下示例:

steps:
    - powershell: |
       $angular = (Get-Content "$(system.defaultworkingdirectory)/angular.json" -Raw) | ConvertFrom-Json
       
       if ($angular.defaultProject -ne "pos-ac-pos"){
       
         exit 1
       }
      displayName: 'PowerShell Script'
   
   - task: benjhuser.tfs-extensions-build-tasks.trigger-build-task.TriggerBuild@3
     displayName: 'Trigger a new build of 12'
     inputs:
       buildDefinition: 12

注意:您可能需要禁用主管道的CI触发器。因为它将由新的触发管道触发。