如何修改Turborepo构建命令,仅基于最新提交重建指定Next.js应用?
解决Turborepo+Vercel仅构建变更应用的问题
问题根源
你当前的构建命令中--no-deps和--include-dependencies是冲突参数,且未基于Git提交的变更范围做过滤,导致无关应用(docs)也被触发构建。
修改后的web应用构建命令
将web应用的Vercel构建命令替换为:
cd ../.. && npx turbo run build --filter="web..." --filter="[HEAD^1..HEAD]"
参数说明
--filter="web...":指定构建web应用及其所有直接/间接依赖的包--filter="[HEAD^1..HEAD]":仅筛选最近一次提交(从上个版本到当前版本)中发生变更的包及关联依赖,跳过无变更内容- 两个
--filter组合后,只会构建web应用和本次提交中变更的它的依赖,完全不会触发docs的构建
docs应用的对应调整
docs应用的Vercel构建命令也要针对性修改,确保仅构建自身及变更依赖:
cd ../.. && npx turbo run build --filter="docs..." --filter="[HEAD^1..HEAD]"
这样无论提交web还是docs的代码,各自的Vercel部署只会触发对应应用及变更依赖的构建,不会互相干扰。
内容的提问来源于stack exchange,提问作者Nightcrawler
相关产品推荐
相关产品推荐

