You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js项目部署Azure App Service时如何排除指定文件夹不部署

Azure App Service部署排除指定文件夹的实现方法

以下是不同部署场景下的可行方案,优先推荐通用配置方案:

方法1:Kudu全局部署配置(通用所有部署场景,优先选择)

该方案适配Git推送、Zip部署、CLI部署等所有Azure官方支持的部署渠道,配置一次永久生效:

  • 在项目根目录新建名为 .deployment 的文件,写入以下配置:
[config]
# 配置排除的文件夹,多个文件夹用分号分隔
SCM_BUILD_ARGS=-p:ExcludeFoldersFromDeployment="logs"
  • 把该文件提交到项目根目录后,后续所有部署都会自动跳过logs文件夹上传。

方法2:.gitignore配置(仅适用Git推送部署场景)

如果你是通过Git仓库直接推送部署到Azure:

  • 直接在项目根目录的 .gitignore 文件中添加一行 logs/,Git提交时会自动忽略logs文件夹,部署时自然不会上传到App Service。
  • 注意:该方案对手动Zip上传、CLI Zip部署等非Git驱动的部署方式不生效。

方法3:Zip部署时指定排除规则

如果你是使用本地打包Zip后上传,或者用az CLI执行Zip部署:

  • 手动打包时直接不把logs文件夹加入压缩包即可;
  • 使用az CLI命令部署时,添加exclude参数即可自动排除:
    az webapp deploy --name <你的应用名称> --resource-group <你的资源组名称> --src-path ./ --exclude "logs/**"

方法4:CI/CD流水线配置排除(适用GitHub Actions/Azure DevOps等自动部署场景)

在你的流水线配置文件的打包、上传制品步骤中添加排除规则即可。以GitHub Actions为例:

- name: 上传部署制品
  uses: actions/upload-artifact@v3
  with:
    name: nodejs-app
    path: |
      .
      !logs/

配置生效验证

部署完成后,进入Azure门户对应App Service的「高级工具」→「Go」进入Kudu面板,选择「Debug console」→「CMD/PowerShell」,进入site/wwwroot目录执行ls命令,若不存在logs文件夹则说明配置生效。


内容的提问来源于stack exchange,提问作者Keshav Naharwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 11:15:04