← Гайды

Автоматизация и деплой

CI/CD для Next.js: GitHub Actions и автодеплой

Сборка в CI и выкладка на VPS по пушу в main.

Коротко

В Actions собираете проект, по зелёной сборке заходите на VPS по SSH и обновляете контейнеры или PM2. Секреты — только в GitHub Secrets, не в репозитории.

Подробнее

Минимальный пайплайн:

  1. Триггер: push в main.
  2. Job: npm ci, npm run build (и тесты, если есть).
  3. Job деплоя: SSH на сервер, git pull, сборка или docker compose up -d --build.

На сервере ключ деплоя с ограниченными правами, не root-пароль в секретах. Для Docker удобно выкладывать только нужный сервис: --no-deps frontend.

Не собирайте прод-секреты в образ. .env живёт на VPS. Если фронт ходит в API на этапе build, либо force-dynamic, либо сначала поднимаете backend.

Ошибки CI читайте в логе job, не на глаз на сервере. Если сборка зелёная, а сайт старый — деплой не дошёл: проверьте SSH, путь и что перезапустился нужный процесс.

См. также

Ключевые выводы

CI ловит поломку до выкладки. Деплой — отдельный шаг по SSH. Секреты в GitHub Secrets и на сервере, не в git.

FAQ

Нужен ли GitHub Actions, если деплою руками?

Не обязателен. Он экономит время и не даёт выкатить код, который не собирается.

Можно ли деплоить с ноутбука скриптом?

Да. Actions удобнее, когда в команде несколько людей и нужен одинаковый путь.

Почему build в CI падает, а локально нет?

Другая версия Node или нет переменных окружения. Зафиксируйте версию в workflow и проверьте Secrets.

Мы используем файлы cookie для того, чтобы предоставить пользователям больше возможностей при посещении сайта. Оставаясь на сайте, Вы соглашаетесь на обработку файлов cookie. Подробнее об условиях использования.