CI/CD пайплайн GitHub CMS включает 368 автоматических тестов в 10 категориях (контент, Markdown, SEO, безопасность, PixInLink, утилиты, интеграция, производительность, доступность, деплой). Все тесты выполняются при каждом push и блокируют деплой при ошибках.
Этапы CI/CD пайплайна
| Этап | Инструмент | Время |
|---|---|---|
| Validate content | validate-content.mjs | 2s |
| Install dependencies | npm ci | 15s |
| Build static site | vite build | 12s |
| Validate SEO files | validate-seo-files.mjs | 1s |
| Run tests (10 категорий) | npm test | 5s |
| Deploy to VPS | rsync | 3s |
| Total | ~40s |
Zero-downtime деплой
Деплой использует атомарное переключение: rsync в /var/www/site/next → проверка health check → переключение symlink current → next. Ни одной секунды простоя.
FAQ
Что делать если тесты упали?
Ответ: Логи тестов выводятся в GitHub Actions. Типичные ошибки: нарушение формата Frontmatter, отсутствие обязательных полей (title, description, slug), секретные токены в контенте. Каждая ошибка содержит указание на файл и строку.