将 Git 仓库连接到 Worker 后,默认情况下仓库中任何文件的更改都会触发构建。你可以配置 Worker 包含或排除特定路径,以指定 Worker 是否应跳过给定路径的构建。如果你使用 monorepo 项目结构并希望限制触发的构建数量,这会特别有用。
要配置包含和排除的路径:
- 在概览中,选择你的 Worker 项目。
- 前往 Settings(设置) > Build > Build watch paths。Worker 默认将项目的包含路径设置为全部(
[*]),排除路径设置为无([])。
配置字段可通过两种方式填写:
- 静态文件路径:输入要包含或排除的文件的精确名称(例如
docs/README.md)。 - 通配符语法:使用通配符匹配多个路径目录。可以在规则的开头或结尾指定通配符。
对于推送事件中的每个路径,构建监视路径将按以下方式评估:
- 首先忽略满足排除条件的路径
- 然后检查剩余路径是否满足包含条件
- 如果找到任何匹配的路径,则触发构建;否则跳过构建
Worker 在以下情况下会绕过推送事件的路径匹配并默认构建项目:
- 推送事件包含 0 个文件更改(用户推送空推送事件以触发构建)
- 推送事件包含 3000 个以上文件更改或 20 个以上提交
如果你想触发一组目录内所有更改的构建,例如 project-a/ 和 packages/ 文件夹中的所有更改
- 包含路径:
project-a/*, packages/* - 排除路径:``
如果你想触发任何更改的构建,但排除某个目录的更改,例如 docs/ 目录中的所有更改
- 包含路径:
* - 排除路径:
docs/*
如果你想为特定文件或特定文件类型触发构建,例如所有以 .md 结尾的文件。
- 包含路径:
*.md - 排除路径:``