由于ZIP的结构,使用kudu ZipDeploy的Azure webapp部署失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于ZIP的结构,使用kudu ZipDeploy的Azure webapp部署失败相关的知识,希望对你有一定的参考价值。

我正在尝试将.NET Framework站点的部署过程更新为Azure WebApp。我们之前使用的是Publish-AzureWebsiteProject PowerShell cmdlet,但它正在逐步淘汰。所以我们试图通过最近发布的Publish-AzWebApp PowerShell cmdlet来使用kudu的zipdeploy功能。就将文件传输到Azure而言,一切都运行良好,但在将ZIP解压缩到正确的位置时失败了。

当我使用构建服务器上的“Package”目标构建站点时,它会生成一个ZIP结构,以便与MSDeploy一起使用。这不是zipdeploy方法所期望的格式。 MSDeploy ZIP文件包含部署XML,实际内容深层嵌套到表示原始位置的路径中。 Zipdeploy似乎想要一个简单的网站内容根存档,因此它在提取后将文件从存档复制到文字路径中。

因此,例如,如果我的Visual Studio解决方案在d:uildssolution中,那么打包的构建文件将放在d:uildssolutionprojectobjdebugPackagePackageTemp中。该网站的内容在以下路径D_CuildssolutionprojectobjdebugPackagePackageTempContent下进入ZIP。因此,当zipdeploy运行时,它会将内容放入wwwroot/Content/D_C/builds/solution/project/obj/debug/Package/PackageTemp/Content/的webapp中。

我正在运行以构建项目的命令是:

msbuild.exe /nologo /v:minimal /T:Package /p:Configuration="Debug;VisualStudioVersion=12.0" project.csproj

我希望有人知道如何通过以下之一(优惠顺序)实现这一目标:

  • 一个msbuild参数来构建网站并创建一个简单的内容ZIP
  • 一个kudu设置,它将使用msdeploy而不是直接复制来部署当前ZIP
  • 自定义kudu部署脚本,将通过msdeploy而不是文件副本进行部署
  • msbuild目标自定义,将创建兼容的ZIP
答案

我了解您正在尝试使用CI CD管道在Azure Web应用程序中部署Web应用程序。

URL下方将帮助您部署Zip

https://docs.microsoft.com/en-us/azure/app-service/deploy-zip

注意:MSBUILD Zip可能无法在所有部署模型中运行

Zip配置MSBuild.exe / p:configuration =“release”; platform =“any cpu”; WebPublishMethod = Package; PackageFileName =“ MyFolder package.zip”; DesktopBuildPackageLocation =“ MyFolder package.zip”; PackageAsSingleFile = true ; PackageLocation = “ MyFolder文件 package.zip”; DeployOnBuild = TRUE; DeployTarget =封装

以上是关于由于ZIP的结构,使用kudu ZipDeploy的Azure webapp部署失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache Kudu 实现多租户

大数据Kudu:Kudu架构

kudu增删改查(orm方式)

大数据Kudu:什么是Kudu

使用SparkSQL迁移oracle数据到impala创建的kudu表中,出现Primary key column riskcode is not set错误

使用SparkSQL迁移oracle数据到impala创建的kudu表中,出现Primary key column riskcode is not set错误