我使用Azure CLI命令从ZIPped工件部署功能代码。这是代码,没有什么主要的只是一个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任务,使用服务主体使用az登录,然后使用az functionapp部署。我可以使用我知道的Azure CLI任务,但是我的逻辑提取FnName有点复杂,因为我需要循环并部署该函数的多个实例,Azure CLI任务不喜欢foreach
在常规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'
}
希望能帮助到你。