Задать вопрос
@Dimentiy-cmd

Как сделать доставку изменений на сервер?

У меня на VDS крутится бот. Моя задумка такова что я создаю и тестирую что то новое на локальном ПК, затем отправляю через FTP новые файлы на сервер, а далее перезапускаю бота (бот работает через systemd). Но мне надо как то это автоматизировать чтобы при коммите в локальном репозитории измененные файлы отправлялись на сервер, а затем бот сам перезапускался.
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
То, что вам нужно называется "Система доставки и развёртывания" или "CI/CD". Работает следующим образом:
  1. На Git сервере создаётся репозиторий - Github, GitLab и прочие сервисы (есть простые и лёгкие варианты для хостинга на своём сервере)
  2. На сервере в разделе CI/CD настраиваете пайплайн на пуш или пулл-реквест в репозиторий: обычно это запуск скрипта или нескольких в докере
  3. При наступлении данного события сервер запускает пайплайн

Обычно пайплайн состоит из нескольких шагов:
  1. Сборка
  2. Тестирование
  3. Доставка
  4. Развёртывание

В зависимости от особенностей проекта число шагов может меняться. Для доставки и развёртывания есть два стандартных метода:
  • CI/CD агент на сервере, который выполняет нужные скрипты в контексте оболочки сервера
  • Скрипт, который подключается к целевому серверу по SSH и через него же передаёт нужные файлы (артефакты - в контексте CI/CD процессов).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы