Skitflow

Отслеживание путей

Узнайте, как использовать отслеживание путей в вашем приложении или Docker Compose.

Отслеживание путей (Watch Paths) — это функция, которая позволяет мониторить определённые каталоги или файлы на наличие изменений и автоматически запускать действия при их модификации.

Обзор

Функциональность отслеживания путей доступна как для автономных приложений, так и для конфигураций Docker Compose. Эта функция помогает автоматизировать развёртывания на основе изменений файлов в вашем репозитории.

Поддерживаемые провайдеры исходного кода

Поддерживаются следующие провайдеры систем контроля версий:

  • GitHub
  • GitLab
  • Bitbucket
  • Git (работает с репозиториями Bitbucket, Github и GitLab)

Базовое использование

Допустим, у вас есть проект со следующей структурой каталогов:

my-app/
├── src/
│   ├── index.js
├── public/

По умолчанию Skitflow принимает массив путей, позволяя мониторить несколько расположений. Например:

  • Для запуска развёртывания при изменении любого файла в каталоге src/ используйте шаблон: src/*
  • Для мониторинга конкретного файла просто укажите его путь: src/index.js

Конфигурация

Watch Paths работает сразу, без дополнительной конфигурации, при использовании GitHub в качестве провайдера. Для других провайдеров сначала необходимо настроить автоматическое развёртывание, как описано в:

Примечание: При использовании провайдера Git функциональность будет работать только с репозиториями GitHub, GitLab, Bitbucket или Gitea.

Возможности сопоставления шаблонов

Мы поддерживаем широкий спектр возможностей сопоставления шаблонов:

  • Множественные glob-шаблоны
  • Подстановочные символы:
    • ** (соответствует любому количеству каталогов)
    • *.js (соответствует всем файлам JavaScript)
  • Шаблоны отрицания:
    • !a/*.js (исключает файлы JavaScript в каталоге 'a')
    • *!(b).js (соответствует всем файлам JavaScript, кроме заканчивающихся на 'b')
  • Расширенные glob-шаблоны:
    • +(x|y) (соответствует 'x' или 'y' один или более раз)
    • !(a|b) (соответствует всему, кроме 'a' или 'b')
  • Классы символов POSIX:
    • [[:alpha:][:digit:]] (соответствует любой букве или цифре)
  • Раскрытие фигурных скобок:
    • foo/{1..5}.md (соответствует foo/1.md по foo/5.md)
    • bar/{a,b,c}.js (соответствует bar/a.js, bar/b.js, bar/c.js)
  • Классы символов регулярных выражений:
    • foo-[1-5].js (соответствует foo-1.js по foo-5.js)
  • Логическое "или" регулярных выражений:
    • foo/(abc|xyz).js (соответствует foo/abc.js или foo/xyz.js)

On this page