如何仅将dist文件夹部署到Azure网站?

3

我在我的Azure网站项目中有src文件和dist/文件夹。

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文件。


你解决了这个问题吗?有什么更新吗? - Bruce Chen
1个回答

2
根据您的要求,我认为您可以修改发布配置文件,在将网站部署到Azure之前添加一些MSBuild任务。这是我的测试,您可以参考它。
项目结构
修改您的发布配置文件
您可以在发布配置文件中定义一个带有RemoveDir、Move任务的目标,并将其放在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 应用程序的结构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接