我正在使用Azure CLI命令从ZIP工件中部署功能代码。这是代码,仅需az命令和工件的位置即可。
az functionapp deployment source config-zip -g $RGName -n $FnName --src "$(System.DefaultWorkingDirectory)/_Artifacts/drop/EventHubFunction.zip"
但是,当我在管道中使用它时,会出现随机的 非致命 错误;即管道确实引发了错误,但它默默地继续并且功能被部署了。我只是想知道此错误的含义以及如何避免此错误。我面临的错误是
2019-04-18T13:00:17.7925065Z ## [错误]警告:获取用于zip部署的scm站点凭据
2019-04-18T13:00:20.7587414Z ## [错误]警告:开始zip部署
2019-04-18T13:00:20.7633968Z ## [错误]
请注意,我正在使用Azure Powershell任务,使用服务主体使用z登录,然后使用z functionapp部署。我可以使用我知道的Azure CLI任务,但是提取FnName的逻辑有点复杂,因为我需要遍历并部署该函数的多个实例,而Azure CLI任务不喜欢 foreach
答案 0 :(得分:0)
在常规Powershell命令中,可以使用CommonParameter -ErrorAction Stop,但是对于AzureCli az命令,我认为您可以使用简单的if语句:
if (az login --service-principal -u $ClientId -p $ClientSecret --tenant $TenantId)
{
"Success"
}
else {"Error"}
还是使用$检查最后一个退出状态?尝试登录后的自动变量:
if (!$?) {"Error"}
类似的功能部署也可以实现,也可以尝试使用--query运算符检查所需的内容,例如
# Create the Web App if it does not already exist
if(-Not (az webapp show --name $webAppName --resource-group $resourceGroupName))
{
az webapp create --name $webAppName --resource-group $resourceGroupName --plan $servicePlanName --tags 'displayName=WebApp'
}
希望有帮助。