Cod сервер, Github, Coolify - интеграция и развертывани ci/cd

Добрый день, подскажите кто из разработчиков может в двух словах рассказать или объяснить алгоритм настройки полноценного сервера ci/cd - для бытовых нужд frontend/backend

Если в 2х словах, то
CI/CD это когда

  1. Разработчик заливает код в Git репозиторий
  2. Сервер тригерится и запускает пайплан, описанный в этом репозитори
  3. В плайплайне описаны шаги, которые необходимо выпонить: валидация, сборка, тестирование, публикация, деплой
  4. В процессе деплоя обновляются соответствующе окружения

GitOps это когда

  1. Разработчик заливает код в Git репозиторий
  2. Сервер тригерится и собирает образ приложения, тестирует, складывает его в репозиторий
  3. GitOps оркестратор или сам разработчик видит, что появились изменения и обновляет окружение

Coolify/Komodo это когда

  1. Разработчик заливает код в Git репозиторий
  2. Сервер вызывает вебхук для триггера системы оркестрации
  3. Система оркестрации приложний по вебхуку запускает процесс сборки и деплоя приложения

Системы оркестрации приложений это по сути GitOps на стероидах, они могут работать и как класические GitOps системы и перетягивать на себя все работы, в том числе сборку, но вот с тестированием возникают вопросы

2 лайка

благодарю. а для развретывания приложений какой набор базовых пакетов npm, node.js

хочу уточнить момент, а такие сайты как vercel, raailway такой же принцип используют?

Не работал с ними, но raailway сутя по гифкам очень напоминает 3 вариант, но на максималках, по сути, они сразу и хостинг предоставляют т.е. закрываю абсолютно все потребности пользователя ценой снижения гибкости и повышением цены.

Вот тут вообще не понятно

Node это среда позволяющая выполнять JavaScript на сервере. NPM это менеджер пакетов для Node. При развёртывание Node, с ним идут стандартные пакеты. Собственно как и в любом яп. Остальные пакеты, которые вам нужны для работы, вы устанавливаете с помощью NPM.

благодарю, это ценно, мне бы посмотреть на рабочие среды по развертыванию, а то есть готовые приложения скачанные с vercel, нужно их запустить локально протестировать и тогда уже выпускать