← 中文资源

简体中文版本

用 Makefile 作为任务运行器

为构建、测试、检查与部署定义 phony 目标,并将其作为项目可被发现的任务入口。

阅读英文原文

概述

每位开发者记忆不同的脚本与参数,新人上手只能从 CI 配置里反推构建方式。把常用任务收敛到 Makefile,并用 .PHONY 避免与同名文件冲突,可让任务可发现、命令一致、本地与 CI 走同一入口。

关键步骤

  1. 为常用任务定义名称清晰的目标。
  2. 将所有目标标记为 .PHONY。
  3. 添加自文档化的 help 目标。
  4. 目标内调用真实工具,使 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