概述
每位开发者记忆不同的脚本与参数,新人上手只能从 CI 配置里反推构建方式。把常用任务收敛到 Makefile,并用 .PHONY 避免与同名文件冲突,可让任务可发现、命令一致、本地与 CI 走同一入口。
关键步骤
- 为常用任务定义名称清晰的目标。
- 将所有目标标记为 .PHONY。
- 添加自文档化的 help 目标。
- 目标内调用真实工具,使 CI 复用同一入口。
验证
- make 可列出可用任务。
- 目标每次被请求都执行。
- 本地与 CI 行为一致。
- 目标名称清晰可发现。
注意事项
- Makefile 使用制表符而非空格,是常见且令人困惑的错误来源。
- Make 不擅长依赖感知的增量构建,那类需求应使用专门的构建工具。
适用范围
本条目围绕「用 Makefile 作为任务运行器」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
.PHONY: help build test lint
help:
@grep -E '^[a-zA-Z_-]+:' Makefile | cut -d: -f1
build:
pnpm build
test:
pnpm test
lint:
pnpm lint