CI/CD

GitHub 工作流 (GitHub Workflows)

  • pr.yml:
    • 为所有拉取请求运行测试
    • 运行 nx affected,仅执行缓存失效的任务
    • 也使用 pkg-pr-new 发布包预览并创建示例链接
  • release.yml:
    • 为合并到发布分支的代码运行测试
    • 运行 nx run-many,执行所有任务并确保输出存在(发布构建的必要条件)
    • 使用 Changesets 处理版本控制和发布

Nx

TanStack 项目使用 Nx 来快速执行我们的测试和构建。任务在本地和 CI 中并行化和缓存。虽然 Nx 拥有广泛的插件系统,但我们仅将 Nx 用作 NPM 脚本运行器。

配置文件 (Config Files)

  • ./nx.json:主配置文件,定义任务依赖项、输入和输出
  • ./package.json:需要手动指定根级脚本(例如 test:format
  • ./**/package.json:自动检测包级脚本(例如 build

Nx 代理 (Nx Agents)

  • Nx 允许您在多台 CI 机器上分发任务,从而增加可以并行运行的作业数量
  • 请注意,这确实会产生相当大的启动延迟
订阅 Bytes

您的每周 JavaScript 新闻。每周一免费发送给超过 10 万名开发者。

Bytes

无垃圾邮件。随时取消订阅。