“;运行此作业”;基于Azure发布管道中angular.json中的值

“;运行此作业”;基于Azure发布管道中angular.json中的值,angular,azure,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Angular,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,有没有办法根据angular.json中的值停止Azure CI/CD管道 仅当“defaultProject”包含angular.json文件中的“pos ac pos”时,我才需要运行管道。您可以添加脚本任务来检查defaultProject的值。如果该值不是pos ac pos,则可以手动停止管道。有关powershell脚本中的以下示例: steps: - powershell: | $angular = (Get-Content "$(system.defaultwo

有没有办法根据angular.json中的值停止Azure CI/CD管道


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

您可以添加脚本任务来检查
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
的值。如果脚本任务成功,则使用或触发主管道。请参见以下示例:

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触发器。因为它将由新的触发管道触发。

非常感谢Levi Lu MSFT。很好。@sanjai太好了,对你来说很好。如果你认为它可以作为一个答案,你能吗?谢谢