我正在为我们的Azure Web应用程序设置CI脚本,并希望使用部署槽来启用将应用程序分支部署到开发订阅中。我能够轻松创建部署槽,并已通过PowerShell成功配置了一些应用程序设置。目前的主要问题是,我还需要配置新创建的槽的部署选项。我们通过本地git存储库发布网站。我尝试过使用PowerShell和CLI,但在设置repoUrl参数时出现错误。我基于Microsoft的示例构建了此脚本。此外,我验证了命令语法与Azure资源管理器中显示的内容匹配。
$ResourceGroupName = "group-name"
$SubscriptionId = "guid-value-redacted"
Login-AzAccount -Subscription $SubscriptionId
# Configure environment properties
$WebAppName = "web-app-name"
$AppServicePlanName = "web-app-plan-name"
$SlotName = "branch-name"
New-AzureRmWebAppSlot -ResourceGroupName $ResourceGroupName -AppServicePlan $AppServicePlanName -Name $WebAppName -Slot $SlotName
$PropertiesObject = @{
repoUrl = "https://$WebAppName-$SlotName.scm.azurewebsites.net/"
}
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/slots/sourcecontrols -ResourceName "$WebAppName/$SlotName/web" -ApiVersion 2016-08-01 -Force
所有这些都很好,直到最后一条命令,它返回了这个错误:
Set-AzureRmResource : {"Code":"BadRequest","Message":"The parameter https://web-app-name-branch-name.scm.azurewebsites.net/ has an invalid value.","Target":null,"Details":[{"Message":"The parameter
https://web-app-name-branch-name.scm.azurewebsites.net/ has an invalid value."},{"Code":"BadRequest"},{"ErrorEntity":{"ExtendedCode":"51008","MessageTemplate":"The parameter {0} has an invalid
value.","Parameters":["https://web-app-name-branch-name.scm.azurewebsites.net/"],"Code":"BadRequest","Message":"The parameter https://web-app-name-branch-name.scm.azurewebsites.net/ has an invalid
value."}}],"Innererror":null}
At line:6 char:1
+ Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupN ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Set-AzureRmResource], ErrorResponseMessageException
+ FullyQualifiedErrorId : BadRequest,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.SetAzureResourceCmdlet
我在这里做错了什么?我知道示例是基于从GitHub发布的,但是我提供的参数与我手动配置的另一个部署插槽使用的格式匹配。在我看来,这应该可以工作,但显然我漏掉了一些重要的细节。