Skip to content
Snippets Groups Projects
Commit 197eb17c authored by Podosochnyy Maxim's avatar Podosochnyy Maxim
Browse files

Merge branch 'feature/add-example-ext-service' into 'master'

Изменен метод запуска демонстрационного сервиса расширений, добавлена возможность проброса изменений пакета perxis-python в контейнер

See merge request !37
parents 4d4ab50f fa16f6ff
No related branches found
No related tags found
1 merge request!37Изменен метод запуска демонстрационного сервиса расширений, добавлена возможность проброса изменений пакета perxis-python в контейнер
Pipeline #31406 failed with stage
in 1 minute and 49 seconds
.docker-compose.override.yml docker-compose.override.yml
\ No newline at end of file \ No newline at end of file
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
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
...@@ -2,15 +2,13 @@ version: "3.9" ...@@ -2,15 +2,13 @@ version: "3.9"
services: services:
demo-ext-backend: demo-ext-backend:
ports:
- 50051:50051
build: build:
context: . context: .
dockerfile: Dockerfile
args: args:
- PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} - PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL}
restart: unless-stopped restart: unless-stopped
volumes:
- .:/home/perx/app
networks: networks:
- storage - storage
- default - default
......
...@@ -3,3 +3,12 @@ ...@@ -3,3 +3,12 @@
2. Указать переменную PIP_EXTRA_INDEX_URL 2. Указать переменную PIP_EXTRA_INDEX_URL
3. docker-compose up 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
watchmedo auto-restart --pattern "*.py;*.json" --recursive --signal SIGTERM \
python ./server.py
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment