diff --git a/.drone.jsonnet b/.drone.jsonnet index 1eba61e..62e2391 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -8,7 +8,7 @@ name: 'builder', image: 'plugins/docker', settings: { - tags: ['builder'], + tags: ['builder-${DRONE_BUILD_NUMBER}'], dockerfile: 'Dockerfile.builder', registry: 'gitea.pb42.de', repo: 'gitea.pb42.de/matthias/reflex-ipad', @@ -19,12 +19,25 @@ }, { name: 'frontend-builder', - image: 'gitea.pb42.de/matthias/reflex-ipad:builder', + image: 'gitea.pb42.de/matthias/reflex-ipad:builder-${DRONE_BUILD_NUMBER}', pull: 'always', commands: [ 'cd /app', 'reflex export --frontend-only --no-zip', 'mv .web/_static /drone/src/web', + 'mv .web/_static /drone/src/web', + ], + depends_on: [ + 'builder', + ], + }, + { + name: 'dockerfile-builder', + image: 'alpine', + pull: 'always', + commands: [ + 'apk add --update sed', + 'sed -i Dockerfile.backend -e "s/#BUILDNR#/${DRONE_BUILD_NUMBER}/"', ], depends_on: [ 'builder', @@ -37,6 +50,7 @@ tags: ['backend-latest'], dockerfile: 'Dockerfile.backend', registry: 'gitea.pb42.de', + cache_from: 'gitea.pb42.de/matthias/reflex-ipad:backend-latest', repo: 'gitea.pb42.de/matthias/reflex-ipad', config: { from_secret: 'dockerconfigjson' }, build_args: ['API_URL=https://ipad.pb42.de'], @@ -44,6 +58,7 @@ }, depends_on: [ 'builder', + 'dockerfile-builder', ], }, { diff --git a/Dockerfile.backend b/Dockerfile.backend index a03d3b4..fbb4adc 100644 --- a/Dockerfile.backend +++ b/Dockerfile.backend @@ -3,7 +3,7 @@ ARG API_URL WORKDIR /app RUN apt-get update && apt-get --no-install-recommends -y install libpq5 && rm -rf /var/apt/cache/* RUN adduser --disabled-password --home /app reflex -COPY --chown=reflex --from=gitea.pb42.de/matthias/reflex-ipad:builder /app /app +COPY --chown=reflex --from=gitea.pb42.de/matthias/reflex-ipad:builder-#BUILDNR# /app /app COPY --chown=reflex deploy/* . RUN chown reflex:reflex /app USER reflex diff --git a/Dockerfile.builder b/Dockerfile.builder index b46ffc0..7cc2b29 100644 --- a/Dockerfile.builder +++ b/Dockerfile.builder @@ -22,4 +22,8 @@ RUN reflex init COPY . . +COPY deploy/rxconfig.py . + +ENV PATH="/app/.venv/bin:$PATH" API_URL=$API_URL PYTHONUNBUFFERED=TRUE + # vim:set ft=dockerfile: