User Tools

Site Tools


Sidebar






Old

start:student_projects_deploy

This is an old revision of the document!


Развертывание студенческих проектов

Для того, чтобы упростить процедуру развертывания студенческих проектов на кафедральных серверах, составлен список необходимых требований. Эти требования должны быть выполнены перед тем, как проект будет размещен на кафедральных ресурсах.

Веб-приложения

  • проект запакован в docker-compose, конфигурация собирается и запускается одним скриптом
  • данные постоянного хранения проекта (файлы БД и прочее такое) должно подключатся через именованный volume
  • в docker-compose конфиге указаны точные версии всех образов, версия latest недопускается к использованию
  • в скриптах установки зависимостей и Docker файлах указаны версии всех пакетов
  • в скриптах указаны точные версии интерпретаторов (Например, python3.8)
  • ключи шифрования, сертификаты, пароли и любые чувствительные данные передаются через .env файл
  • Если в проекте есть СУБД:
    • она располагается в отдельном контейнере
    • каталог с файлами данных СУБД монтируется в volume (отдельный или в каталог машины-хоста)
  • режим сети не host для docker-compose
  • конфигурация docker-compose открывает только необходимые порты для production работы (идеально - только фронтенд)
  • веб-интерфейс доступен на порте с номером от 5000
  • есть конфиг для apache2, настраивающий работу через reverse proxy
  • необходимые для отладки логи работы приложения доступны через веб-интерфейс (или хотя бы в файле в volume)
    • если в системе несколько контейнеров с кодом (например бакенд и фронтенд), то логи всех контейнеров должны собираться на одном из них
  • есть примитивные интеграционные тесты
  • в настройках docker-compose для всех контейнеров есть монтирование данных о часовом поясе хост-машины /etc/timezone:/etc/timezone:ro

Плагины для Moodle

start/student_projects_deploy.1670394640.txt.gz · Last modified: 2022/12/10 09:08 (external edit)