Деплой GitHub CMS на VPS состоит из трёх шагов: настройка сервера (Ubuntu + nginx + SSL), настройка GitHub Secrets для безопасного доступа по SSH, и настройка GitHub Actions workflow для автоматического деплоя при push в main. Полное время развёртывания: 15-20 минут.
Архитектура деплоя
| Компонент | Роль |
|---|---|
| GitHub Actions | Сборка сайта (npm run build) и деплой через rsync |
| VPS (Ubuntu) | Хостинг статических файлов |
| nginx | Веб-сервер, отдача статики, HTTPS |
| Let’s Encrypt | Бесплатные TLS-сертификаты |
| SSH + rsync | Безопасная передача файлов на сервер |
Процесс деплоя
- Push в main → триггерит GitHub Actions workflow
deploy.yml - Validate → проверка контента, аудит зависимостей, сборка
- Build → Vite SSG собирает статические HTML/CSS/JS
- Deploy → rsync загружает
dist/на VPS - Health check → curl проверяет
/,/healthz,/sitemap.xml
FAQ
Q: Какой VPS выбрать? A: Подойдёт любой VPS с Ubuntu 22.04/24.04. Минимальные требования: 512MB RAM, 10GB SSD. Рекомендуемые провайдеры: Hetzner, DigitalOcean, Vultr.
Q: Нужен ли мне домен? A: Да, для HTTPS через Let’s Encrypt нужен домен. Без домена можно использовать self-signed сертификат, но браузеры будут показывать предупреждение.
Q: Как часто обновляется SSL-сертификат? A: Let’s Encrypt сертификаты действительны 90 дней. Certbot автоматически обновляет их (systemd timer).
Начните деплой
- Настройте VPS по инструкции в
docs/deployment/vps-baseline.md - Добавьте в GitHub Secrets переменные для хоста, пользователя и SSH-ключа
- Запустите GitHub Actions workflow
deploy.yml