博观而约取,厚积而薄发。这篇文章主要讲述由于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
URL下方将帮助您部署Zip
https://docs.microsoft.com/en-us/azure/app-service/deploy-zip
注意:MSBUILD Zip可能无法在所有部署模型中运行
【由于ZIP的结构,使用kudu ZipDeploy的Azure webapp部署失败】Zip配置MSBuild.exe / p:configuration =“release”; platform =“any cpu”; WebPublishMethod = Package; PackageFileName =“ MyFolderpackage.zip”; DesktopBuildPackageLocation =“ MyFolderpackage.zip”; PackageAsSingleFile = true ; PackageLocation = “ MyFolder文件 package.zip”; DeployOnBuild = TRUE; DeployTarget =封装
推荐阅读
- com.apple.AuthenticationServices.Authorization错误代码1000
- TypeError(RN 0.61.2)(_ firebaseApp.default.messaging不是函数)
- 是否可以在手机上远程构建和运行Android Studio应用()
- 如何在Symfony 3中将Twig正确地包含和使用jQuery
- 如何在Symfony 3中基于数字值(YouTube或URL Shortener样式)创建非顺序唯一ID
- Symfony服务”uri_signer”依赖于不存在的参数”kernel.secret”
- 如何在C#WinForms中使用NAudio从MP3音频文件渲染音频波形图像
- 如何在Winforms C#中使用DarkUI(黑暗用户界面)
- 如何在Symfony 3中使用PHP将PDF转换为文本(从PDF提取文本)