← zabolotny.de
DEENRUUA

Головна / Нотатки

DevOps · CI/CD · Next.js

CI/CD для Next.js 15 на VPS: GitHub Actions, PM2 reload і Caddy

Ручний деплой був повільним і схильним до помилок. Сьогодні досить git push — без простою і без PaaS.

Сергій Заболотний ·

Вихідна ситуація

PflegeOasis працює на моєму VPS (Next.js 15, PostgreSQL 16, Drizzle ORM). Спершу я заходив по SSH і виконував кроки вручну. Це забирає час, а кожен забутий крок — можливе джерело помилок.

Процес

  1. Пуш в основну гілку запускає workflow GitHub Actions.
  2. Workflow підключається до сервера по SSH.
  3. На сервері виконуються git pull, pnpm install і pnpm build.
  4. pm2 reload перезапускає застосунок Next.js — без простою.
  5. Caddy стоїть перед застосунком як reverse proxy й автоматично опікується TLS-сертифікатами.

Схематично (спрощено) сервер під час деплою робить таке:

git pull
pnpm install
pnpm build
pm2 reload <app-name>

Чому не PaaS?

Обмеження: збірка йде на самому сервері. За малого обсягу пам’яті збірка може навантажити працюючий застосунок — тоді розумніше збирати на CI-раннері й завантажувати лише готовий результат.

Результат

Деплой через git push: швидше, відтворювано й без ручної роботи. Workflow і є документацією.

Читати далі

ШІ · LLM · Контент-пайплайн

ШІ-контент із людиною в циклі: 200+ статей із чернеток LLM

У праві про догляд помилки ШІ неприпустимі. Ось як я використовую мовну модель як помічника в письмі, не передаючи їй відповідальність.

DevOps · Cloudflare · Zero Trust

Zero Trust для homelab: Cloudflare Tunnel і Access замість відкритих дашбордів

Внутрішній дашборд був публічно доступний через піддомен. Ось як я закрив його за допомогою Cloudflare Tunnel, Cloudflare Access і Tailscale.

Кейс · Здоров’я · Посібники

PflegeOasis: калькулятор Pflegegrad, генератор заперечень і ШІ-контент із перевіркою людиною

Безкоштовний портал, який допомагає родичам розібратися в німецькій системі догляду — з калькуляторами, чек-листами та понад 200 статтями-посібниками.

Кар’єра · DevOps · Особистий досвід

Перехід у DevOps у Німеччині: мій план, мої підтвердження, мої прогалини

Я шукаю постійну роботу в ІТ, найкраще підходять DevOps і Platform Engineering. Тут чесно про те, що ринок дає за цифрами, звідки я йду і чим роблю свої навички такими, що можна перевірити.

Коментарі

Долучайтеся до обговорення: коментарі працюють через GitHub Discussions (вхід через акаунт GitHub). Вміст GitHub/giscus завантажується лише після кліку. Конфіденційність

Ще з практики

Інші нотатки, кейси та проєкти — на головній сторінці.

Усі нотатки Кейс MeisterMeld Кейс PflegeOasis Кейс Kernbohr-Expert На головну