← Cloudflare Workers / workers / ci-cd / builds
Отслеживаемые пути сборки
Когда вы подключаете git репозиторий к Workers, по умолчанию изменение любого файла в репозитории запускает сборку. Вы можете настроить Workers так, чтобы включать или исключать определённые пути, указывая, для каких путей сборку следует пропускать. Это особенно полезно при монорепозиторной структуре проекта, когда нужно ограничить количество запускаемых сборок.
Настройте пути
Чтобы настроить, какие пути включены, а какие исключены:
- В Обзор, выберите ваш проект Workers.
- Перейдите в Настройки > Build > Отслеживаемые пути сборки. По умолчанию Workers задаст для includes путей вашего проекта значение «всё» ([*]), а для excludes путей задаст значение «ничего» (
[]).
Поля конфигурации можно заполнить двумя способами:
- Статические пути к файлам: Введите точное имя файла, который нужно включить или исключить (например,
docs/README.md). - Синтаксис wildcard: Используйте подстановочные знаки (wildcards), чтобы охватить несколько каталогов пути. Вы можете указывать подстановочные знаки в начале или в конце правила.
Для каждого пути в push-событии build watch paths будут оценены следующим образом:
- Пути, удовлетворяющие условиям исключения, игнорируются в первую очередь
- Все оставшиеся пути проверяются на соответствие условиям includes
- Если найден хотя бы один совпадающий путь, запускается сборка. В противном случае сборка пропускается
Workers пропустят сопоставление путей для события push и по умолчанию соберут проект, если:
- Push-событие содержит 0 изменений файлов: так бывает, когда пользователь отправляет пустой push, чтобы запустить сборку
- Push-событие содержит более 3000 изменений файлов или более 20 коммитов
Примеры
Пример 1
Если вы хотите запускать сборку при любых изменениях в наборе каталогов, например при изменениях в папках project-a/ и packages/
- Включаемые пути:
project-a/*, packages/* - Исключить пути: ``
Пример 2
Если вы хотите запускать сборку при любых изменениях, но исключить изменения в определённом каталоге, например все изменения в каталоге docs/
- Включаемые пути:
* - Исключить пути:
docs/*
Пример 3
Если вы хотите запускать сборку для конкретного файла или типа файлов, например для всех файлов с окончанием .md.
- Включаемые пути:
*.md - Исключить пути: ``