2016-12-01 89 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應用程序的結構。