2016-12-01 74 views
3

我在我的天蓝色网站项目中有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。

+0

你解决了这个问题吗,有没有更新? –

回答

1

根据您的要求,我假设您可以在将网站部署到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应用程序的结构。

相关问题