← Cloudflare Pages / pages / configuration
Отслеживаемые пути сборки
При подключении git-репозитория к Pages изменение любого файла в репозитории по умолчанию запускает сборку Pages. Вы можете настроить Pages так, чтобы включать или исключать определённые пути, указывая, для каких путей сборку следует пропускать. Это особенно полезно при монорепозиторной структуре проекта, если вы хотите ограничить количество запускаемых сборок.
Настройте пути
Чтобы настроить, какие пути включены, а какие исключены:
-
Перейдите в Workers & Pages в Cloudflare dashboard.
Перейдите в Workers & Pages ↗ -
Найдите свой проект Pages.
-
Перейдите в Настройки > Build > Отслеживаемые пути сборки. По умолчанию Pages задаст для includes путей значение «все» ([*]), а для excludes путей значение «ничего» (
[]).
Поля конфигурации можно заполнить двумя способами:
- Статические пути к файлам: Введите точное имя файла, который нужно включить или исключить (например,
docs/README.md). - Синтаксис wildcard: Используйте подстановочные знаки для сопоставления нескольких путей. Их можно указывать в начале или в конце правила.
Для каждого пути в push-событии build watch paths будут оценены следующим образом:
- Пути, удовлетворяющие условиям исключения, игнорируются в первую очередь
- Все оставшиеся пути проверяются на соответствие условиям includes
- Если найден хотя бы один совпадающий путь, запускается сборка. В противном случае сборка пропускается
Pages пропускает сопоставление пути для push-события и по умолчанию собирает проект, если:
- Push-событие содержит 0 изменений файлов: так бывает, когда пользователь отправляет пустой push, чтобы запустить сборку
- Push-событие содержит более 3000 изменений файлов или более 20 коммитов
Примеры
Запуск сборок для определённых каталогов (монорепозиторий)
Если вы хотите запускать сборку только при изменении файлов в определенных каталогах, например project-a/ и packages/. Поскольку * учитывает совпадения через разделители пути, включая изменения во вложенных подкаталогах, например project-a/src/index.js или packages/utils/lib/helpers.ts.
- Включаемые пути:
project-a/*, packages/* - Исключить пути: ``
Исключите каталог из запуска сборок
Если вы хотите запускать сборку при любых изменениях, но исключить изменения в определенном каталоге, например все изменения в docs/ директория (включая вложенные пути, такие как docs/guides/setup.md).
- Включаемые пути:
* - Исключить пути:
docs/*
Запуск сборок для определённого типа файлов
Если вы хотите запускать сборку для конкретного файла или типа файлов, например всех .md файлы в любом месте репозитория.
- Включаемые пути:
*.md - Исключить пути: ``
Запуск сборок для каталога с исключением подкаталога
Если вы хотите запускать сборку при изменениях в src/ но хотите игнорировать изменения в src/tests/.
- Включаемые пути:
src/* - Исключить пути:
src/tests/*