/electronic-therapist

Учебный пример разработки от тестирования

Primary LanguagePython

Пример клиент-серверного приложения с деплоем на удалённый сервер

В данном шаблоне представленно простое веб-приложение для работы с базой контактов. Шаблон нацелен на оптимизацию процессов разработки и интеграции в рамках простых проектов. Далее будет дорабатываться с развитием моего представления о CI/CD.

2022-10-29_15-19-10

Предполагаемый процесс разработки

Клиентская часть разработана в Bootstrap Studio с использование VueJS. Таким образом, использован классический стек HTML, CSS и JS. Для серверной части был выбран стек MEVN, что не является целевым стеком моих проектов. Однако, это как пример легковесного и простого сервера. Сборка контейнеров состоит из контейнера MongoDB и контейнера с самим сервером.

Сборка и деплой

Сервер можно тестировать локально, но я рекомендую проводить все тестирования на Docker (только локальном). Если говорить про деплой, то вам потребуется удалённый сервер с установленным Docker compose. Далее потребуется выполнить следующие шаги:

  1. На сервере настроить работу ключей SSH. Инструкций достаточно в Интернете, но главное, чтобы у вас было проверена работа SSH без пароля на локальном компьютере.
  2. Также нужно добавить удалённый сервер в список Docker context командой docker context create <context_name> --docker "host=ssh://<docker_user>@<server_address>"
  3. Установите нужные данные сервера (IP-адресс и порт) в файле переменных docker.env
  4. Теперь одной командой вы можете запустить деплой на удалённый сервер docker --context=<context_name> compose --env-file=docker.env up --build -d

2022-10-29_15-18-47