From fa16f6ffcfd2da4d15b19aa464ee65340f188f79 Mon Sep 17 00:00:00 2001 From: Maxim Podosochnyy <podosochnyy@perx.ru> Date: Fri, 30 Jun 2023 17:14:53 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/extension_service/.gitignore | 2 +- examples/extension_service/Dockerfile.local | 22 +++++++++++++++++++ .../docker-compose.override.example.yml | 14 ++++++++++++ examples/extension_service/docker-compose.yml | 6 ++--- examples/extension_service/readme.md | 9 ++++++++ examples/extension_service/watchdog.sh | 2 ++ 6 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 examples/extension_service/Dockerfile.local create mode 100644 examples/extension_service/docker-compose.override.example.yml create mode 100644 examples/extension_service/watchdog.sh diff --git a/examples/extension_service/.gitignore b/examples/extension_service/.gitignore index fbc6772..1e0cc99 100644 --- a/examples/extension_service/.gitignore +++ b/examples/extension_service/.gitignore @@ -1 +1 @@ -.docker-compose.override.yml \ No newline at end of file +docker-compose.override.yml \ No newline at end of file diff --git a/examples/extension_service/Dockerfile.local b/examples/extension_service/Dockerfile.local new file mode 100644 index 0000000..994d988 --- /dev/null +++ b/examples/extension_service/Dockerfile.local @@ -0,0 +1,22 @@ +FROM python:3.9-slim + +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +ENV USER=perx + +RUN mkdir -p /home/${USER}/data /home/${USER}/app /home/${USER}/logs +WORKDIR /home/${USER}/app + +ARG PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} +ENV PIP_EXTRA_INDEX_URL=$PIP_EXTRA_INDEX_URL + +COPY . /home/${USER}/app +RUN pip install perxis==0.0.16 +RUN pip install 'watchdog[watchmedo]' + +ENV PYTHONPATH="/home/perx/app" +ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python + +#CMD ["python", "/home/perx/app/server.py"] +#CMD ["watchmedo auto-restart --recursive --signal SIGTERM python /home/perx/app/server.py"] +CMD ["sh", "watchdog.sh"] \ No newline at end of file diff --git a/examples/extension_service/docker-compose.override.example.yml b/examples/extension_service/docker-compose.override.example.yml new file mode 100644 index 0000000..855146c --- /dev/null +++ b/examples/extension_service/docker-compose.override.example.yml @@ -0,0 +1,14 @@ +version: "3.9" + +services: + demo-ext-backend: + build: + context: . + dockerfile: Dockerfile.local + args: + - PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} + ports: + - 50051:50051 + volumes: + - .:/home/perx/app + - <Путь Рє интерпретатору питона>/site-packages/perxis:/usr/local/lib/python3.9/site-packages/perxis \ No newline at end of file diff --git a/examples/extension_service/docker-compose.yml b/examples/extension_service/docker-compose.yml index 52b018e..ec4c728 100644 --- a/examples/extension_service/docker-compose.yml +++ b/examples/extension_service/docker-compose.yml @@ -2,15 +2,13 @@ version: "3.9" services: demo-ext-backend: - ports: - - 50051:50051 build: context: . + dockerfile: Dockerfile args: - PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} restart: unless-stopped - volumes: - - .:/home/perx/app + networks: - storage - default diff --git a/examples/extension_service/readme.md b/examples/extension_service/readme.md index fad54db..28146c6 100644 --- a/examples/extension_service/readme.md +++ b/examples/extension_service/readme.md @@ -3,3 +3,12 @@ 2. Указать переменную PIP_EXTRA_INDEX_URL 3. docker-compose up +Для того чтобы работал hot reaload Рё была возможность изменения библиотеки perxis без публикации РЅРѕРІРѕР№ версии РЅСѓР¶РЅРѕ: +1. Создать файл docker-compose.override.yml +2. Скопировать РІ него содержимое docker-compose.override.example.yml +3. Установить РЅР° локальный интерпретатор пакет perxis-python +4. Р’ файле docker-compose.override.yml указать путь РґРѕ site-packages локального интерпретатора + +После этого РїСЂРё изменениях РІ РёСЃС…РѕРґРЅРѕРј РєРѕРґРµ (включая правки РІ пакете perxis) будет перезагружен сервис. Рзменения РІ пакет +perxis РЅСѓР¶РЅРѕ будет вносить РЅР° локальной машине РІ каталоге <путь РґРѕ site-packages>/perxis + diff --git a/examples/extension_service/watchdog.sh b/examples/extension_service/watchdog.sh new file mode 100644 index 0000000..388214e --- /dev/null +++ b/examples/extension_service/watchdog.sh @@ -0,0 +1,2 @@ +watchmedo auto-restart --pattern "*.py;*.json" --recursive --signal SIGTERM \ + python ./server.py \ No newline at end of file -- GitLab