PowerShell 任务不是 运行 Azure Pipelines 中的脚本?
PowerShell Task not running the script in Azure Pipelines?
我有一个 powershell 任务,用于 运行 涉及创建 azure 资源的脚本(示例:资源组、Azure Key Vault、Function App...)。当管道 运行 到达部署阶段的 powershell 任务时,它显示以下消息:
这里的问题,它说Finishing:Powershell但是它没有执行脚本并且没有创建任何 azure 资源。
这是 powershell 脚本的示例:
$vaultName = "key vault name"
$blobstorageName = "blob storage name"
$Location = "Location Name"
$resourceGroupName = "Resource Group Name"
try {
#Creation of Resource Group
$resourceGroup = Get-AzResourceGroup -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if($null -eq $resourceGroup)
{
New-AzResourceGroup -Name $resourceGroupName -Location $Location
}
else
{
Write-Host "The ResourceGroup with the name: $resourceGroupName already exists."
}
# Creation of Storage Account
$checkBlobStorage = (Get-AzStorageAccountNameAvailability -Name $blobstorageName) | Select-Object NameAvailable
if ($checkBlobStorage.NameAvailable)
{
New-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $blobstorageName -Location $Location -SkuName Standard_LRS -Kind StorageV2 -AccessTier Hot
}
else
{
Write-Host "The name $blobStorageName is not available. Suggest a new globally unique name!"
}
catch
{
}
有人知道哪里出了问题吗?我是否在 powershell 脚本中遗漏了某些内容(也许我无法从 azure devops 直接访问 azure 门户)或者可能缺少某些内容
Yaml 文件 ?
两大问题:
- 您似乎正在为这种脚本使用 Powershell Task, which is not designed for communication with Azure. You should use the Azure Powershell task,因为它已经加载了正确的模块并准备了身份验证。
- 您的脚本吞没了错误,因此它隐藏了出错的地方。通常 not 捕获异常更有用;如果您的脚本出错,那么让它出错,并让管道在其日志中向您显示发生了什么。
我有一个 powershell 任务,用于 运行 涉及创建 azure 资源的脚本(示例:资源组、Azure Key Vault、Function App...)。当管道 运行 到达部署阶段的 powershell 任务时,它显示以下消息:
这里的问题,它说Finishing:Powershell但是它没有执行脚本并且没有创建任何 azure 资源。
这是 powershell 脚本的示例:
$vaultName = "key vault name"
$blobstorageName = "blob storage name"
$Location = "Location Name"
$resourceGroupName = "Resource Group Name"
try {
#Creation of Resource Group
$resourceGroup = Get-AzResourceGroup -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if($null -eq $resourceGroup)
{
New-AzResourceGroup -Name $resourceGroupName -Location $Location
}
else
{
Write-Host "The ResourceGroup with the name: $resourceGroupName already exists."
}
# Creation of Storage Account
$checkBlobStorage = (Get-AzStorageAccountNameAvailability -Name $blobstorageName) | Select-Object NameAvailable
if ($checkBlobStorage.NameAvailable)
{
New-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $blobstorageName -Location $Location -SkuName Standard_LRS -Kind StorageV2 -AccessTier Hot
}
else
{
Write-Host "The name $blobStorageName is not available. Suggest a new globally unique name!"
}
catch
{
}
有人知道哪里出了问题吗?我是否在 powershell 脚本中遗漏了某些内容(也许我无法从 azure devops 直接访问 azure 门户)或者可能缺少某些内容 Yaml 文件 ?
两大问题:
- 您似乎正在为这种脚本使用 Powershell Task, which is not designed for communication with Azure. You should use the Azure Powershell task,因为它已经加载了正确的模块并准备了身份验证。
- 您的脚本吞没了错误,因此它隐藏了出错的地方。通常 not 捕获异常更有用;如果您的脚本出错,那么让它出错,并让管道在其日志中向您显示发生了什么。