Ver código fonte

fix: use poetry to build project docker

tags/v2.1.10
winkidney 2 anos atrás
pai
commit
132cc96893
5 arquivos alterados com 29 adições e 25 exclusões
  1. +2
    -2
      Dockerfile
  2. +5
    -4
      Dockerfile.autobuild
  3. +18
    -14
      Makefile
  4. +2
    -3
      docker/scripts/_start_gunicorn.sh
  5. +2
    -2
      docker/scripts/start.sh

+ 2
- 2
Dockerfile Ver arquivo

@@ -9,6 +9,6 @@ RUN bash n 14
RUN npm -g install yarn

WORKDIR /app
RUN pip install pipenv
RUN pipenv install --three --system --dev
RUN pip install poetry
RUN poetry install
RUN rm -fr /app/*

+ 5
- 4
Dockerfile.autobuild Ver arquivo

@@ -55,11 +55,12 @@ RUN apt-get update \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get autoclean

# Install Pipfile requirements
COPY Pipfile* ./
# Install Poetry requirements
COPY pyproject.toml ./
COPY poetry.lock ./
RUN pip install "rcssmin==1.0.6" --install-option="--without-c-extensions" \
&& pip install pipenv \
&& pipenv install --three --system --clear
&& pip install poetry \
&& poetry install

# Copy from previous stages
COPY --from=yarn-build pinry-spa/dist /pinry/pinry-spa/dist


+ 18
- 14
Makefile Ver arquivo

@@ -3,31 +3,35 @@ dev-docker-serve:
dev-docker-build-frontend:
docker-compose up build_frontend
backup-images:
pipenv run python manage.py dumpdata django_images > db-backup.django_images.json
poetry run python manage.py dumpdata django_images > db-backup.django_images.json
backup-all:
pipenv run python manage.py dumpdata > db-backup.all.json
poetry run python manage.py dumpdata > db-backup.all.json
migrate:
pipenv run python manage.py migrate
poetry run python manage.py migrate
migrate-no-input:
poetry run python manage.py migrate --noinput
makemigrations:
pipenv run python manage.py makemigrations
poetry run python manage.py makemigrations
recover-all:
pipenv run python manage.py loaddata db-backup.all.json
poetry run python manage.py loaddata db-backup.all.json
collect-static-no-input:
poetry run python manage.py collectstatic --noinput
bootstrap:
make install
pipenv run python manage.py collectstatic
make collect-static-no-input
serve:
pipenv run python manage.py runserver 0.0.0.0:8000
poetry run python manage.py runserver 0.0.0.0:8000
install:
pipenv install
poetry install
test:
pipenv run python manage.py test
poetry run python manage.py test
shell:
pipenv run python manage.py shell
poetry run python manage.py shell
flake8:
pipenv run flake8
poetry run flake8
docs-serve:
pipenv run mkdocs serve
poetry run mkdocs serve
docs-build:
pipenv run mkdocs build
poetry run mkdocs build
docs-publish:
pipenv run mkdocs gh-deploy
poetry run mkdocs gh-deploy

+ 2
- 3
docker/scripts/_start_gunicorn.sh Ver arquivo

@@ -1,5 +1,4 @@
#!/bin/bash
gunicorn pinry.wsgi -b 0.0.0.0:8000 -w 4 \
poetry run gunicorn pinry.wsgi -b 0.0.0.0:8000 -w 4 \
--capture-output --timeout 30 \
--user www-data --group www-data \
--env DJANGO_SETTINGS_MODULE=pinry.settings.docker
--user www-data --group www-data

+ 2
- 2
docker/scripts/start.sh Ver arquivo

@@ -14,13 +14,13 @@ bash ${PROJECT_ROOT}/docker/scripts/bootstrap.sh

# If static files don't exist collect them
cd ${PROJECT_ROOT}
python manage.py collectstatic --noinput
make collect-static-no-input

# If database doesn't exist yet create it
if [ ! -f /data/production.db ]
then
cd ${PROJECT_ROOT}
python manage.py migrate --noinput
make migrate-no-input
fi

# Fix all settings after all commands are run


Carregando…
Cancelar
Salvar