User Tools

Site Tools


start:student_projects_deploy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start:student_projects_deploy [2021/03/30 08:19]
mark [Веб-приложения]
start:student_projects_deploy [2023/12/14 09:13] (current)
mark [Веб-приложения]
Line 3: Line 3:
 Для того, чтобы упростить процедуру развертывания студенческих проектов на кафедральных серверах,​ составлен список необходимых требований. Эти требования должны быть выполнены перед тем, как проект будет размещен на кафедральных ресурсах. ​ Для того, чтобы упростить процедуру развертывания студенческих проектов на кафедральных серверах,​ составлен список необходимых требований. Эти требования должны быть выполнены перед тем, как проект будет размещен на кафедральных ресурсах. ​
  
 +Также можно рассматривать эти требования как крайне полезные рекомендации,​ выработанные ценой большого количества нервов и проектов,​ которые кафедра развертывала.
 ===== Веб-приложения ===== ===== Веб-приложения =====
  
   * проект запакован в docker-compose,​ конфигурация собирается и запускается одним скриптом   * проект запакован в docker-compose,​ конфигурация собирается и запускается одним скриптом
 +  * данные постоянного хранения проекта (файлы БД и прочее такое) должно подключатся через именованный volume
 +  * в docker-compose конфиге указаны точные версии всех образов,​ версия latest недопускается к использованию
   * в скриптах установки зависимостей и Docker файлах указаны версии всех пакетов   * в скриптах установки зависимостей и Docker файлах указаны версии всех пакетов
   * в скриптах указаны точные версии интерпретаторов (Например,​ python3.8)   * в скриптах указаны точные версии интерпретаторов (Например,​ python3.8)
Line 11: Line 14:
   * Если в проекте есть СУБД:   * Если в проекте есть СУБД:
     * она располагается в отдельном контейнере     * она располагается в отдельном контейнере
-    * каталог с файлами данных СУБД монтируется в volume ​(отдельный или ​в каталог машины-хоста)+    * каталог с файлами данных СУБД монтируется в volume ​ 
 +    * контейнеру СУБД не нужно открывать никаких портов 
   * режим сети не host для ​ docker-compose   * режим сети не host для ​ docker-compose
 +  * volume не использует файлы или каталоги хоста (исключения ниже)
 +  * конфигурация docker-compose открывает только необходимые порты для production работы (идеально - только фронтенд)
 +  * все порты в docker-compose открываются только с указанием на 127.0.0.1 (то есть - так можно ​ 127.0.0.1:​8000:​8000,​ а так - 8000:8000 нельзя)
   * веб-интерфейс доступен на порте с номером от 5000   * веб-интерфейс доступен на порте с номером от 5000
 +  * docker-compose не использует порты хоста с номерами < 1024
   * есть конфиг для apache2, настраивающий работу через reverse proxy    * есть конфиг для apache2, настраивающий работу через reverse proxy 
-  * необходимые для отладки логи работы приложения доступны через веб-интерфейс+  * необходимые для отладки логи работы приложения доступны через веб-интерфейс ​(или хотя бы в файле в volume)
     * если в системе несколько контейнеров с кодом (например бакенд и фронтенд),​ то логи всех контейнеров должны собираться на одном из них ​     * если в системе несколько контейнеров с кодом (например бакенд и фронтенд),​ то логи всех контейнеров должны собираться на одном из них ​
   * есть примитивные интеграционные тесты   * есть примитивные интеграционные тесты
 +  * в настройках docker-compose для всех контейнеров есть монтирование данных о часовом поясе хост-машины /​etc/​timezone:/​etc/​timezone:​ro и /​etc/​localtime:/​etc/​localtime:​ro
  
 ===== Плагины для Moodle ===== ===== Плагины для Moodle =====
  
start/student_projects_deploy.1617092381.txt.gz · Last modified: 2022/12/10 09:08 (external edit)