![](/img/trans.png)
[英]How can you use environment variables in an Azure Powershell task in a DevOps Release Pipeline?
[英]How to create a azure resource through powershell task in azure devops release pipeline?
我想通過 powershell 任務創建應用服務計划(消耗)。 為此,我使用了 Azure Powershell 任務,我的代碼是:
[cmdletbinding()]
param (
$AppServicePlanLocation,
$AppServicePlanResourceGroupName,
$AppServicePlan_Name
)
$location = $AppServicePlanLocation
$resourceGroupName = $AppServicePlanResourceGroupName
$appServicePlanName = $AppServicePlan_Name
Write-Host "SafeCreateAppServicePlan.Parameter:location: $location"
Write-Host "SafeCreateAppServicePlan.Parameter:resourceGroupName: $resourceGroupName"
Write-Host "SafeCreateAppServicePlan.Parameter:appServicePlanName: $appServicePlanName"
$SkuName = "Y1"
$SkuTier = "Dynamic"
$WebAppApiVersion = "2015-08-01"
$fullObject = @{
location = $location
sku = @{
name = $SkuName
tier = $SkuTier
}
}
Write-Host "Ensuring the $appServicePlanName app service plan exists"
$plan = Get-AzureRmAppServicePlan -Name $appServicePlanName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(-not $plan) {
Write-Host "Creating $appServicePlanName app service plan"
New-AzureRmResource -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/serverfarms -Name $appServicePlanName -IsFullObject -PropertyObject $fullObject -ApiVersion $WebAppApiVersion -Force
}
else {
Write-Host "$appServicePlanName app service plan already exists"
}
但它給出了錯誤:術語“Get-AzureRmAppServicePlan”未被識別為 cmdlet、函數、腳本文件或可運行程序的名稱。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然后重試。
Azure Powershell 任務無法識別 Get-AzureRmAppServicePlan 命令。
注意:我沒有使用過簡單的 powershell 任務,我使用過 Azure Powershell 任務。
如果您使用的是最新版本的任務 - 將所有*AzureRM*
命令替換為*Az*
(或啟用向后兼容性),因為這是當前受支持的 Azure Powershell 模塊( AzureRM
模塊已折舊且不再受支持)。
https://docs.microsoft.com/en-us/powershell/azure/migrate-from-azurerm-to-az?view=azps-3.3.0
附: 如果您使用的是以前版本的任務 - AzureRM
應該可以工作
你沒有提到你正在使用的 Azure PowerShell 任務的任務版本,或者代理運行的上下文,Hosted\\Private。 如果模塊可用,這兩者都會產生影響。
可以檢查 AzureRM.Websites 模塊是否可用。
$ Get-Module Azure* -list | Select-Object Name,Version,Path
您可能需要手動加載模塊,或指定較舊版本的 Azure PowerShell 任務,因為在使用較新版本的任務時 AzureRM 模塊不會自動可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.