Оговорка разработчика и условия использования
Применять только в учебных целях. Данный код может содержать ошибки, авторы не несут никакой ответственности за любые последствия использования этого кода. Условия использования и распространения - MIT лицензия (см. файл LICENSE).
Настройка и запуск
Предполагается, что настройка и подготовка хостовой и гостевой машины были осуществлены в соответствии с инструкциями, приведенными в подготовительном курсе.
Системные требования
Данный пример разработан и проверен на ОС Ubuntu 22.04, авторы предполагают, что без каких-либо изменений этот код может работать на любых Debian-подобных OS, для других Linux систем. Для MAC OS как минимум необходимо использовать другой менеджер пакетов. В Windows необходимо самостоятельно установить необходимое ПО или воспользоваться виртуальной машиной с Ubuntu (также можно использовать WSL версии не ниже 2).
Используемое ПО
Стандартный способ запуска демо-версии предполагает наличие установленного пакета docker
, а также docker-compose
. Для автоматизации типовых операций используется утилита make
, хотя можно обойтись и без неё, вручную выполняя соответствующие команды из файла Makefile
в командной строке.
Другое используемое ПО (в Ubuntu будет установлено автоматически, см. следующий раздел):
python
(желательно версия не ниже 3.8)pipenv
(для виртуальных окружений python)
Для работы с кодом примера рекомендуется использовать VS Code или PyCharm.
В случае использования VS Code следует установить расширения
REST client
Docker
Python
Настройка окружения и запуск примера
Подразумевается наличие развернутой по предоставленному образцу машины с установленным и настроенным ПО, например, docker
и docker-compose
, с выбранным интерпретатором (детальные инструкции по настройке среды разработки представлены в подготовительном курсе, ссылка на который приведена выше).
Для запуска примера рекомендуется использовать следующую комбинацию команд в терминалах 1 и 2:
0.0 (пере)настройка окружения (один раз для проекта, перед первым запуском и выбором интерпретатора)
make prepare
1.1 (пере)сборка docker-образов
docker-compose build --force-rm
или
make rebuild
1.2 запуск примера: в контейнерах будут развернуты серверы, готовые к приему команд и начнут генерироваться и поступать необходимые сигналы
make run
1.3 просмотр логов: в консоли будет показан лог работы контейнеров
docker-compose logs -f --tail 100
или
make logs
1.4 тестирование (будет запущен тестовый сценарий проверки работы основного функционала системы)
make test
Можно пользоваться запросами из файла request.rest
1.5 завершение работы:
docker stop $(docker ps -q)
или
make stop