【发布时间】:2022-01-21 16:53:39
【问题描述】:
我有一个 yaml 管道,它仅用于在订阅上运行脚本。我为此使用了AzurePowerShell@5 任务。
问题是我有 22 个其他订阅我需要使用完全相同的脚本参数运行相同的脚本。唯一不同的是目标 azureSubscription 字段。有没有更快的方法,而不是拥有 22 个具有不同订阅名称的相同任务块?我可以将 22 个订阅的名称放在变量部分的数组中并以某种方式循环它们吗?请指教
stages:
- stage: Deploy
displayName: 'Deploy Pipeline - Access Worker'
jobs:
- job: AccessWorker
displayName: 'Access Worker'
steps:
- download: current
artifact: 'AccessWorker'
- task: AzurePowerShell@5
displayName: 'Access Worker'
inputs:
azurePowerShellVersion: LatestVersion
azureSubscription: 'My Azure Subscription 1'
scriptPath: '$(Pipeline.Workspace)/AccessWorker/.src/Access_Worker/access_worker.ps1'
scriptArguments: >
-RoleDefinitionName 'Reader'
-TagName 'Owner'
- task: AzurePowerShell@5
displayName: 'Access Worker'
inputs:
azurePowerShellVersion: LatestVersion
azureSubscription: 'My Azure Subscription 2'
scriptPath: '$(Pipeline.Workspace)/AccessWorker/.src/Access_Worker/access_worker.ps1'
scriptArguments: >
-RoleDefinitionName 'Reader'
-TagName 'Owner'
- task: AzurePowerShell@5
displayName: 'Access Worker'
inputs:
azurePowerShellVersion: LatestVersion
azureSubscription: 'My Azure Subscription 3'
scriptPath: '$(Pipeline.Workspace)/AccessWorker/.src/Access_Worker/access_worker.ps1'
scriptArguments: >
-RoleDefinitionName 'Reader'
-TagName 'Owner'
【问题讨论】:
-
您是从查看文档开始的吗?
-
@DanielMann 我做到了。文档中的大多数示例都显示了如何在属性本身内循环(如在 scriptArguments 或 scriptPath 内),但我还没有弄清楚如何循环这些属性本身。尽管我觉得自己走在正确的轨道上,但我会继续努力。
标签: powershell azure-devops yaml azure-pipelines azure-pipelines-yaml