如何在Netlify上部署GitHub仓库内的特定子文件夹项目?
问题背景
GitHub仓库Front-end Projects用于存放不同难度等级的前端项目,包含多层嵌套文件夹,当前已推送至GitHub的仓库名为Front-end Project,文件夹层级如下:
在Netlify平台部署仓库内某一网站项目时,仅能选中整个GitHub仓库,无法指定目标子文件夹路径,以下是可直接落地的部署方案。
部署子目录项目的可行方法
不需要拆分原有仓库,两种方案任选即可:
方案一:Netlify后台可视化配置(无需修改仓库代码)
- 按正常流程关联GitHub上的
Front-end Projects仓库到Netlify站点 - 进入站点配置页,路径为
Site configuration > Build & deploy > Build settings - 找到
Base directory配置项,填入待部署项目的相对路径,例如要部署easy分类下的某项目,就填写easy/对应项目文件夹名 - 若项目需要构建(如基于React/Vue的工程化项目),正常填写构建命令、发布目录即可,所有构建执行逻辑都会以你设置的Base directory为根路径;纯静态项目直接将发布目录指向对应子文件夹即可
- 保存配置后手动触发一次部署,Netlify就会以指定子文件夹为站点根目录完成部署
- 按正常流程关联GitHub上的
方案二:通过netlify.toml配置文件固定部署规则
在仓库根目录创建netlify.toml文件,写入对应配置,示例如下:[build] # 替换为待部署子项目的实际相对路径 base = "easy/landing-page-demo" # 构建命令,纯静态无构建步骤的项目可留空 command = "npm install && npm run build" # 构建产物存放路径,纯静态项目直接填"."即可 publish = "dist"将配置文件推送到GitHub仓库后,Netlify会自动读取配置规则,直接部署指定路径下的子项目。
提示:如果需要在同一个Netlify账号下部署该仓库内的多个子项目,可以在Netlify创建多个站点,每个站点单独配置不同的Base directory即可,互不干扰。
内容的提问来源于stack exchange,提问作者sidramwaseem
相关产品推荐
相关产品推荐

