我们正在尝试使用linux上的Azure CLI上传WebJob作为我们持续部署管道的一部分。
azure site job upload -v $ WEB_JOB_NAME $ WEB_JOB_TYPE run.zip $ WEB_SITE_NAME
但命令在>之后失败20分钟等待“上传WebJob”步骤。
致命错误:CALL_AND_RETRY_2分配失败 - 处理内存不足
更多信息:
答案 0 :(得分:1)
它看起来像是xplat-cli中的一个bug。我不认为它与linux有关,因为当我在Windows上运行xplat-cli时,我得到了同样的错误,其zip文件也大约为30 MB。我建议在https://github.com/Azure/azure-xplat-cli/issues
为他们打开一个问题您可以使用cli获取网站信用,然后使用curl
上传网络工作。这是一个可以做到这一点的小脚本。
# get site config from azure cli
siteConfig=`azure site show $WEB_SITE_NAME -d --json`
# extract publishing username and password for the site
publishingUserName=`echo $siteConfig| python -c "import json,sys;obj=json.load(sys.stdin);print obj['config']['publishingUserName'];"`
publishingPassword=`echo $siteConfig| python -c "import json,sys;obj=json.load(sys.stdin);print obj['config']['publishingPassword'];"`
siteScmUrl=`echo $siteConfig | python -c "import json,sys;obj=json.load(sys.stdin);print obj['site']['siteProperties']['properties']['RepositoryUri'];"`
# build the path for the webjob on the server
jobPath="zip/site/wwwroot/App_Data/jobs/$WEB_JOB_TYPE/$WEB_JOB_NAME"
fullUrl=$siteScmUrl$jobPath
# Upload the zip file using curl
curl -XPUT --data-binary @run.zip -u $publishingUserName:$publishingPassword $fullUrl
您可以在此处阅读有关webjob REST API的更多信息https://github.com/projectkudu/kudu/wiki/WebJobs-API