GitHub Actions — это встроенный CI/CD-движок GitHub, который запускает скрипты при push, pull request или по расписанию. Для GitHub CMS он автоматизирует весь цикл: после git push код собирается через Vite SSG, 368 тестов проверяют контент и безопасность, файлы синхронизируются на VPS через rsync, и symlink атомарно переключает версию — 2 минуты от push до production с 0 downtime.
7 этапов CI/CD пайплайна
git push — триггер
Вы пушите изменения в main ветку. GitHub Actions запускается по paths-фильтру: content/, src/, scripts/.
Сборка + валидация + SEO
npm ci → generate:content → vite-ssg build → inject:seo. 368 тестов проверяют JSON-LD, секреты, контент.
Rsync + symlink
rsync загружает dist/ в releases/дата/. ln -sfn атомарно переключает symlink current/ → 0 downtime.
Health-check
curl проверяет главную, /healthz и /sitemap.xml. При ошибке — откат symlink к предыдущей версии.
🔑 Ключевые факты
FAQ
Бесплатен ли GitHub Actions для приватных репозиториев?
Да — 2000 минут в месяц бесплатно для приватных репо. Билд GitHub CMS занимает 2-5 минут, поэтому лимита хватает на 400+ деплоев в месяц.
Что если тесты упали — деплой блокируется?
Да. Если валидация JSON-LD или проверка секретов находит ошибку, билд завершается с ошибкой, и rsync не запускается. Сайт остаётся на предыдущей версии.
Настройте CI/CD за 15 минут
GitHub CMS Pro — готовый deploy.yml. Только добавить VPS_HOST и SSH-ключ в Secrets.