如何配置Netlify部署Git单分支仓库中的指定项目部分?
问题描述
我的项目文件夹结构如下:
项目仅设有1个main分支,同时包含前端、后端代码模块。当我通过关联Git仓库的方式将应用部署到Netlify时,平台会要求选择待部署分支,由于项目仅有main分支,直接部署会将后端代码也同步到Netlify。如何配置才能仅部署原仓库中需要的指定部分内容?
当前Netlify提供的配置选项界面如下:

解决方法
不需要拆分仓库或者新建单独的前端分支,用Netlify原生的配置能力就能实现单仓指定部分部署,有两种可直接落地的方案:
方案1:直接在Netlify后台配置Base目录
这是操作成本最低的方案,你截图里的配置页就能找到对应设置项:
- 进入站点的构建配置页,找到Base directory输入框
- 填入前端代码在仓库中的相对路径,比如前端代码统一放在根目录的
frontend文件夹下,就直接填frontend - 后续的构建命令、发布目录配置,都以你填写的Base目录作为根路径即可:比如前端构建完产物存在
dist文件夹,发布目录直接填dist就行 - 保存配置后重新触发部署,Netlify会自动切换到你指定的目录执行构建流程,不会把后端代码纳入发布范围
方案2:通过netlify.toml文件固化部署规则
如果想把部署规则跟随仓库版本管理,避免后台配置误改,可以在仓库根目录新建netlify.toml配置文件,写入对应部署规则,示例配置如下:
[build] # 替换为你自己的前端代码目录相对路径 base = "frontend/" # 替换为你项目实际的前端构建命令 command = "npm run build" # 替换为构建后的产物目录,路径相对于上面配置的base目录 publish = "dist/"
把配置文件提交推送到main分支后,Netlify会自动读取该配置执行部署,不需要额外在后台手动修改设置。
补充说明:如果你的前后端代码没有做目录拆分,全部直接放在仓库根目录,可以在构建命令里增加清理后端文件的步骤,比如
rm -rf 后端文件夹名 && npm run build,但更推荐平时就把前端代码收拢到独立文件夹管理,后续维护成本更低。
内容的提问来源于stack exchange,提问作者thitbachi
相关产品推荐
相关产品推荐

