GitHub Actions CI/CD для статического сайта: от push до production за 2 минуты

GitHub Actions — это встроенный CI/CD-движок GitHub, который запускает скрипты при push, pull request или по расписанию. Для GitHub CMS он автоматизирует весь цикл: после git push код собирается через Vite SSG, 368 тестов проверяют контент и безопасность, файлы синхронизируются на VPS через rsync, и symlink атомарно переключает версию — 2 минуты от push до production с 0 downtime.

GitHub Actions CI/CD

7 этапов CI/CD пайплайна

1

git push — триггер

Вы пушите изменения в main ветку. GitHub Actions запускается по paths-фильтру: content/, src/, scripts/.

2-4

Сборка + валидация + SEO

npm ci → generate:content → vite-ssg build → inject:seo. 368 тестов проверяют JSON-LD, секреты, контент.

5-6

Rsync + symlink

rsync загружает dist/ в releases/дата/. ln -sfn атомарно переключает symlink current/ → 0 downtime.

7

Health-check

curl проверяет главную, /healthz и /sitemap.xml. При ошибке — откат symlink к предыдущей версии.

🔑 Ключевые факты

2 мин
От push до production
368
Авто-тестов при каждом билде
0
Downtime — symlink переключает атомарно
0 ₽
GitHub Actions — бесплатно для публичных репо

FAQ

Бесплатен ли GitHub Actions для приватных репозиториев?

Да — 2000 минут в месяц бесплатно для приватных репо. Билд GitHub CMS занимает 2-5 минут, поэтому лимита хватает на 400+ деплоев в месяц.

Что если тесты упали — деплой блокируется?

Да. Если валидация JSON-LD или проверка секретов находит ошибку, билд завершается с ошибкой, и rsync не запускается. Сайт остаётся на предыдущей версии.

Настройте CI/CD за 15 минут

GitHub CMS Pro — готовый deploy.yml. Только добавить VPS_HOST и SSH-ключ в Secrets.