0

如何在 AzureDevops Release Pipeline 中将多个值作为单个参数传递。

例子

我有一个自动化脚本,可以根据输入创建多个存储帐户。如果输入是 test1、test2、test3、test4、test5,它会在 azure 中创建五个存储帐户。当我从本地计算机上的 powershell 运行时,此脚本工作正常,但当我从 azuredevops 中的“发布管道”尝试相同时,它无法正常工作。

我在 AzureDevops 中创建了一个 Powershell 任务并将变量作为“内联”文本传递

这就是我在变量组中定义输入的方式

存储帐户:“test1”、“test2”、“test3”、“test4”、“test5”

4

2 回答 2

0

定义Storageaccount:"test1","test2", "test3", "test4", "test5". 检查以下:

1、Storageaccount在变量组中定义变量:

在此处输入图像描述

2、foreach在 poweshell 内联脚本中使用循环存储帐户:

$accounts= $(Storageaccount)

foreach($account in $accounts){
   echo "----"
   echo "New-AzStorageAccount : $account"
    }

见下面的输出:

在此处输入图像描述

于 2020-12-15T04:31:36.890 回答
0

你没有在这里附加你的脚本,所以我可能只是猜测。但可能您的脚本需要某种数组。您可以在 Azure DevOps 变量中存储一个数组。它们是简单的字符串。所以你可以做的是(假设Storageaccount : "test1,test2,test3,test4,test5"


$accounts= "$(Storageaccount)".Split(",")
invoke-here-your-script $accounts

在 Azure DevOps 上的 powershell 任务中。

于 2020-12-14T21:42:40.213 回答