【问题标题】:How to only deploy dist folder to azure web site?如何仅将 dist 文件夹部署到 azure 网站?
【发布时间】:2016-12-01 14:57:10
【问题描述】:

我的 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。

【问题讨论】:

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

标签: azure deployment frontend azure-web-app-service web-deployment


【解决方案1】:

根据您的要求,我假设您可以在将网站部署到 Azure 之前修改发布配置文件并添加一些 MSBuild 任务。这是我的测试,你可以参考一下。

项目结构

修改您的发布配置文件

您可以使用 RemoveDir、Move 任务定义一个 Target,并将其放在您的发布配置文件中的 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 应用程序的结构。

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多