РЕДАКТИРОВАТЬ: я нашел способ сделать это в той же сборке
Метод 1 - Та же сборка
jobs:
- job: PreTasks
steps:
- powershell: |
$Subscription = Get Var Command here
#Set Variable for Pipeline
Write-Host "##vso[task.setvariable variable=Subscription;isOutput=true]$Subscription"
name: SetSubscription
displayName: 'PowerShell - Set Subscription'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
- job: 1
dependsOn: PreTasks
condition: eq(dependencies.PreTasks.outputs['SetSubscription.Subscription'], 'DEV1')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV1 (GUID)'
- job: 2
dependsOn: PreTasks
condition: eq(dependencies.PreTasks.outputs['SetSubscription.Subscription'], 'PROD1')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD1 (GUID)'
- job: 3
dependsOn: PreTasks
condition: eq(dependencies.PreTasks.outputs['SetSubscription.Subscription'], 'DEV2')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV2 (GUID)'
- job: 4
dependsOn: PreTasks
condition: eq(dependencies.PreTasks.outputs['SetSubscription.Subscription'], 'PROD2')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD2 (GUID)'
Метод 2 - Отдельные сборки Спасибо @ 4c74356b41. В итоге мне пришлось разделить задачи на 2 отдельные сборки и преобразовать описанный выше процесс в задания вместо задач. Я привязал группу переменных к обеим сборкам, и сборка 1 обновляет переменную в группе переменных, а триггеры сборки 2 - из сборки 1.
сборка 1
- powershell: |
echo $env:AZURE_DEVOPS_EXT_PAT | az devops login
az devops configure -d organization=https://dev.azure.com/<Organisation>/project=<project>
az pipelines variable-group variable update --id <VariableGroupID> --name Subscription --value $Subscription
displayName: 'PowerShell - Set Subscription'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
сборка 2 - запускается из сборки 1
jobs:
- job: 1
condition: eq(variables.Subscription, 'DEV1')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV1 (GUID)'
- job: 2
condition: eq(variables.Subscription, 'PROD1')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD1 (GUID)'
- job: 3
condition: eq(variables.Subscription, 'DEV2')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV2 (GUID)'
- job: 4
condition: eq(variables.Subscription, 'PROD2')
steps:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD2 (GUID)'