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
|
push: false
|
||||||
load: true
|
load: true
|
||||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/extension:ci-local"
|
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"
|
- name: "Run `backend` checks"
|
||||||
run: |
|
run: |
|
||||||
set -x
|
set -x
|
||||||
|
@ -84,6 +93,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
set -x
|
set -x
|
||||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm extension-ci inv ci
|
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"
|
- name: "Clean up"
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
"group": {
|
"group": {
|
||||||
"default": {
|
"default": {
|
||||||
"targets": [
|
"targets": [
|
||||||
|
"apple-management",
|
||||||
"backend-management",
|
"backend-management",
|
||||||
"caddy",
|
"caddy",
|
||||||
"extension-management",
|
"extension-management",
|
||||||
|
@ -13,6 +14,28 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"target": {
|
"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": {
|
"backend-management": {
|
||||||
"context": "services/",
|
"context": "services/",
|
||||||
"dockerfile": "backend/Dockerfile",
|
"dockerfile": "backend/Dockerfile",
|
||||||
|
|
|
@ -14,3 +14,4 @@ include:
|
||||||
- path: "./services/backend/docker-compose-ci.yaml"
|
- path: "./services/backend/docker-compose-ci.yaml"
|
||||||
- path: "./services/packages/docker-compose-ci.yaml"
|
- path: "./services/packages/docker-compose-ci.yaml"
|
||||||
- path: "./services/extension/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/backend/docker-compose.yaml"
|
||||||
- path: "./services/packages/docker-compose.yaml"
|
- path: "./services/packages/docker-compose.yaml"
|
||||||
- path: "./services/extension/docker-compose.yaml"
|
- path: "./services/extension/docker-compose.yaml"
|
||||||
|
- path: "./services/apple/docker-compose.yaml"
|
||||||
|
|
||||||
volumes: {}
|
volumes: {}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
|
.mypy_cache/
|
||||||
|
.pytest_cache/
|
||||||
_tmp/
|
_tmp/
|
||||||
apple/
|
apple/build/
|
||||||
|
apple/DerivedData/
|
||||||
backend/node_modules/
|
backend/node_modules/
|
||||||
backend/ops/metal/
|
backend/ops/metal/
|
||||||
backend/hotpocket_backend/playground.py
|
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 APP_USER_GID
|
||||||
ARG IMAGE_ID
|
ARG IMAGE_ID
|
||||||
|
|
||||||
USER root
|
|
||||||
|
|
||||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/bin/*.sh /srv/bin/
|
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"]
|
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 --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/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/
|
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
|
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/
|
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 && \
|
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 && \
|
ln -s /srv/app/ops/docker/secrets /srv/app/hotpocket_backend/secrets/docker
|
||||||
chown -R $APP_USER_UID:$APP_USER_GID /srv
|
|
||||||
|
|
|
@ -8,12 +8,7 @@ ARG APP_USER_UID
|
||||||
ARG APP_USER_GID
|
ARG APP_USER_GID
|
||||||
ARG IMAGE_ID
|
ARG IMAGE_ID
|
||||||
|
|
||||||
USER root
|
COPY --chown=$APP_USER_UID:$APP_USER_GID extension/ops/bin/*.sh /srv/bin/
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
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 extension/ /srv/app/
|
||||||
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/packages/
|
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ /srv/packages/
|
||||||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
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 APP_USER_GID
|
||||||
ARG IMAGE_ID
|
ARG IMAGE_ID
|
||||||
|
|
||||||
USER root
|
COPY --chown=$APP_USER_UID:$APP_USER_GID packages/ops/bin/*.sh /srv/bin/
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
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 packages/ /srv/app/
|
||||||
COPY --chown=$APP_USER_UID:$APP_USER_GID tls/ /srv/tls/
|
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