BTHLABS-0000: Docker and CI tweaks
Co-authored-by: Tomek Wójcik <labs@tomekwojcik.pl> Co-committed-by: Tomek Wójcik <labs@tomekwojcik.pl>
This commit is contained in:
parent
3f3f90103c
commit
b4d5375954
|
@ -70,6 +70,15 @@ jobs:
|
|||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/extension:ci-local"
|
||||
- name: "Build `apple-ci` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
file: "services/apple/Dockerfile"
|
||||
context: "services/"
|
||||
target: "ci"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/apple:ci-local"
|
||||
- name: "Run `backend` checks"
|
||||
run: |
|
||||
set -x
|
||||
|
@ -84,6 +93,11 @@ jobs:
|
|||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm extension-ci inv ci
|
||||
- name: "Run `apple` checks"
|
||||
if: always()
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm apple-ci inv ci
|
||||
- name: "Clean up"
|
||||
if: always()
|
||||
run: |
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"group": {
|
||||
"default": {
|
||||
"targets": [
|
||||
"apple-management",
|
||||
"backend-management",
|
||||
"caddy",
|
||||
"extension-management",
|
||||
|
@ -13,6 +14,28 @@
|
|||
}
|
||||
},
|
||||
"target": {
|
||||
"apple-management": {
|
||||
"context": "services/",
|
||||
"dockerfile": "apple/Dockerfile",
|
||||
"tags": [
|
||||
"docker-hosted.nexus.bthlabs.pl/hotpocket/apple:local"
|
||||
],
|
||||
"target": "development",
|
||||
"output": [
|
||||
"type=docker,load=true,push=false"
|
||||
]
|
||||
},
|
||||
"apple-ci": {
|
||||
"context": "services/",
|
||||
"dockerfile": "apple/Dockerfile",
|
||||
"tags": [
|
||||
"docker-hosted.nexus.bthlabs.pl/hotpocket/apple:ci-local"
|
||||
],
|
||||
"target": "ci",
|
||||
"output": [
|
||||
"type=docker,load=true,push=false"
|
||||
]
|
||||
},
|
||||
"backend-management": {
|
||||
"context": "services/",
|
||||
"dockerfile": "backend/Dockerfile",
|
||||
|
|
|
@ -14,3 +14,4 @@ include:
|
|||
- path: "./services/backend/docker-compose-ci.yaml"
|
||||
- path: "./services/packages/docker-compose-ci.yaml"
|
||||
- path: "./services/extension/docker-compose-ci.yaml"
|
||||
- path: "./services/apple/docker-compose-ci.yaml"
|
||||
|
|
|
@ -6,6 +6,7 @@ include:
|
|||
- path: "./services/backend/docker-compose.yaml"
|
||||
- path: "./services/packages/docker-compose.yaml"
|
||||
- path: "./services/extension/docker-compose.yaml"
|
||||
- path: "./services/apple/docker-compose.yaml"
|
||||
|
||||
volumes: {}
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
.mypy_cache/
|
||||
.pytest_cache/
|
||||
_tmp/
|
||||
apple/
|
||||
apple/build/
|
||||
apple/DerivedData/
|
||||
backend/node_modules/
|
||||
backend/ops/metal/
|
||||
backend/hotpocket_backend/playground.py
|
||||
|
|
19
services/apple/Dockerfile
Normal file
19
services/apple/Dockerfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
ARG APP_USER_UID=1000
|
||||
ARG APP_USER_GID=1000
|
||||
ARG IMAGE_ID=development.00000000
|
||||
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-node-20250819-01 AS development
|
||||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_ID
|
||||
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID apple/ops/bin/*.sh /srv/bin/
|
||||
|
||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
||||
|
||||
FROM development AS ci
|
||||
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID apple/ /srv/app/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/packages/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
23
services/apple/docker-compose-ci.yaml
Normal file
23
services/apple/docker-compose-ci.yaml
Normal file
|
@ -0,0 +1,23 @@
|
|||
services:
|
||||
apple-ci:
|
||||
build:
|
||||
context: ".."
|
||||
dockerfile: "apple/Dockerfile"
|
||||
target: "development"
|
||||
image: "docker-hosted.nexus.bthlabs.pl/hotpocket/apple:ci-local"
|
||||
command: "echo 'NOOP'"
|
||||
environment:
|
||||
PYTHONBREAKPOINT: "ipdb.set_trace"
|
||||
HOTPOCKET_PACKAGES_ENV: "${HOTPOCKET_EXTENSION_ENV:-docker}"
|
||||
# REQUESTS_CA_BUNDLE: "/srv/tls/requests_ca_bundle.pem"
|
||||
RUN_POETRY_INSTALL: "true"
|
||||
RUN_YARN_INSTALL: "false"
|
||||
SETUP_BACKEND: "true"
|
||||
SETUP_FRONTEND: "false"
|
||||
volumes:
|
||||
- "apple_venv:/srv/venv"
|
||||
- "apple_node_modules:/srv/node_modules"
|
||||
- "../tls:/srv/tls"
|
||||
restart: "no"
|
||||
stdin_open: true
|
||||
tty: true
|
29
services/apple/docker-compose.yaml
Normal file
29
services/apple/docker-compose.yaml
Normal file
|
@ -0,0 +1,29 @@
|
|||
services:
|
||||
apple-management:
|
||||
build:
|
||||
context: ".."
|
||||
dockerfile: "apple/Dockerfile"
|
||||
target: "development"
|
||||
image: "docker-hosted.nexus.bthlabs.pl/hotpocket/apple:local"
|
||||
command: "echo 'NOOP'"
|
||||
environment: &apple-env
|
||||
PYTHONBREAKPOINT: "ipdb.set_trace"
|
||||
HOTPOCKET_EXTENSION_ENV: "${HOTPOCKET_EXTENSION_ENV:-docker}"
|
||||
REQUESTS_CA_BUNDLE: "/srv/tls/requests_ca_bundle.pem"
|
||||
RUN_POETRY_INSTALL: "true"
|
||||
RUN_YARN_INSTALL: "false"
|
||||
SETUP_BACKEND: "true"
|
||||
SETUP_FRONTEND: "false"
|
||||
volumes:
|
||||
- "apple_venv:/srv/venv"
|
||||
- "apple_node_modules:/srv/node_modules"
|
||||
- ".:/srv/app"
|
||||
- "../packages:/srv/packages"
|
||||
- "../tls:/srv/tls"
|
||||
restart: "no"
|
||||
stdin_open: true
|
||||
tty: true
|
||||
|
||||
volumes:
|
||||
apple_venv:
|
||||
apple_node_modules:
|
0
services/apple/ops/bin/.placeholder
Normal file
0
services/apple/ops/bin/.placeholder
Normal file
|
@ -8,12 +8,7 @@ ARG APP_USER_UID
|
|||
ARG APP_USER_GID
|
||||
ARG IMAGE_ID
|
||||
|
||||
USER root
|
||||
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/bin/*.sh /srv/bin/
|
||||
RUN chown -R ${APP_USER_UID}:${APP_USER_GID} /srv
|
||||
|
||||
USER app
|
||||
|
||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
||||
|
||||
|
@ -50,7 +45,6 @@ COPY --from=deployment-build /srv/packages /srv/packages
|
|||
COPY --from=deployment-build /srv/venv /srv/venv
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/bin/*.sh /srv/bin/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/deployment/gunicorn.conf.py backend/ops/deployment/gunicorn.logging.conf /srv/lib/
|
||||
RUN chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -109,5 +103,4 @@ COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/packages/
|
|||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
||||
|
||||
RUN ln -s /srv/app/ops/docker/settings /srv/app/hotpocket_backend/settings/docker && \
|
||||
ln -s /srv/app/ops/docker/secrets /srv/app/hotpocket_backend/secrets/docker && \
|
||||
chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
ln -s /srv/app/ops/docker/secrets /srv/app/hotpocket_backend/secrets/docker
|
||||
|
|
|
@ -8,12 +8,7 @@ ARG APP_USER_UID
|
|||
ARG APP_USER_GID
|
||||
ARG IMAGE_ID
|
||||
|
||||
USER root
|
||||
|
||||
# COPY --chown=$APP_USER_UID:$APP_USER_GID extension/ops/bin/*.sh /srv/bin/
|
||||
RUN chown -R ${APP_USER_UID}:${APP_USER_GID} /srv
|
||||
|
||||
USER app
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID extension/ops/bin/*.sh /srv/bin/
|
||||
|
||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
||||
|
||||
|
@ -22,5 +17,3 @@ FROM development AS ci
|
|||
COPY --chown=$APP_USER_UID:$APP_USER_GID extension/ /srv/app/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/packages/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
||||
|
||||
RUN chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
|
|
0
services/extension/ops/bin/.placeholder
Normal file
0
services/extension/ops/bin/.placeholder
Normal file
|
@ -8,12 +8,7 @@ ARG APP_USER_UID
|
|||
ARG APP_USER_GID
|
||||
ARG IMAGE_ID
|
||||
|
||||
USER root
|
||||
|
||||
# COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ops/bin/*.sh /srv/bin/
|
||||
RUN chown -R ${APP_USER_UID}:${APP_USER_GID} /srv
|
||||
|
||||
USER app
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ops/bin/*.sh /srv/bin/
|
||||
|
||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
||||
|
||||
|
@ -21,5 +16,3 @@ FROM development AS ci
|
|||
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/app/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
||||
|
||||
RUN chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
|
|
0
services/packages/ops/bin/.placeholder
Normal file
0
services/packages/ops/bin/.placeholder
Normal file
Loading…
Reference in New Issue
Block a user