如何只将dist文件夹部署到azure网站?
问题描述:
我在我的天蓝色网站项目中有src文件和dist /文件夹。如何只将dist文件夹部署到azure网站?
project
|- src/
|- dist/
默认行为上传项目内的所有文件,即src和dist。
website
|- src/
|- dist/
我想保持网站清洁,只有dist文件在里面。
website
|- dist/
如果我可以将dist文件夹映射到网站,会更好。
website
|- all the files
|- in dist folder
我该怎么办?
我知道我只能通过右键单击该文件夹然后“发布”来发布一个特定的文件夹。但该网站也包含一些需要部署的bin /文件夹中的dll。
我试图创建一个单独的azure网站项目,只保存dist文件夹,但我不知道如何在部署中包含src项目中的dll。
答
根据您的要求,我假设您可以在将网站部署到Azure之前修改发布配置文件并添加一些MSBuild任务。这是我的测试,你可以参考它。
项目结构
修改你发布配置
您可以定义与RemoveDir一个目标,将任务,并把它的PropertyGroup后,您发布的个人资料如下:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="MoveDistToRoot" AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
<!--1.Deleting Folders except dist-->
<ItemGroup>
<_FolderToDelete Include="$(_PackageTempDir)\src" />
<!--you could add more folder paths as follows:-->
<!--<_FolderToDelete Include="$(_PackageTempDir)\folderName" />-->
</ItemGroup>
<RemoveDir Directories="@(_FolderToDelete)" />
<!--2.Copying files,folders from dist to root directory-->
<ItemGroup>
<_FileToMove Include="$(_PackageTempDir)\dist\**" />
</ItemGroup>
<Move SourceFiles="%(_FileToMove.Identity)" DestinationFolder="$(_PackageTempDir)\%(RecursiveDir)" />
<!--3.Deleting the empty folder dist-->
<RemoveDir Directories="$(_PackageTempDir)\dist" />
</Target>
</Project>
更改后,您可以使用修改的发布配置文件将网站部署到Azure Web App,并尝试通过KUDU检查Azure上的Web应用程序的结构。
你解决了这个问题吗,有没有更新? –