我正在尝试将.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:\builds\solution
中,那么打包的构建文件将放在d:\builds\solution\project\obj\debug\Package\PackageTemp
中。该网站的内容在以下路径D_C\builds\solution\project\obj\debug\Package\PackageTemp\Content
下进入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
我希望有人知道如何通过以下之一(优惠顺序)实现这一目标:
我了解您正在尝试使用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 =封装