是否有任何方法可以基于angular.json中的值停止Azure CI / CD管道
仅当“ defaultProject”包含angular.json文件中的“ pos-ac-pos”时,才需要运行管道。
答案 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 task或rest 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触发器。因为它将由新的触发管道触发。