### chore: aktualisiere Docker-Build und CI für Web-Assets
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 55s
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 3m57s
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 55s
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 3m57s
- **Dockerfile:** Passe COPY-Pfad für Web-Assets auf neuen CI-Workflow an. - **CI:** Füge Schritt zum Staging von Web-Assets vor dem Docker-Build hinzu.
This commit is contained in:
parent
1caefe6603
commit
f296a076dc
|
|
@ -81,6 +81,22 @@ jobs:
|
|||
--max-workers=4 \
|
||||
-Dkotlin.daemon.jvm.options="-Xmx4g"
|
||||
|
||||
- name: Stage Web Assets for Docker build
|
||||
if: matrix.service == 'web-app'
|
||||
run: |
|
||||
set -e
|
||||
DIST_DIR="frontend/shells/meldestelle-web/build/dist/wasmJs/productionExecutable"
|
||||
if [ ! -d "$DIST_DIR" ]; then
|
||||
echo "❌ Erwarteter Build-Ordner nicht gefunden: $DIST_DIR" >&2
|
||||
echo "Hinweis: Prüfe Gradle-Ausgabe und Modulpfad (:frontend:shells:meldestelle-web)" >&2
|
||||
ls -la frontend/shells/meldestelle-web/build || true
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p config/docker/caddy/web-app/_site
|
||||
rsync -a --delete "$DIST_DIR/" config/docker/caddy/web-app/_site/
|
||||
echo "✓ Assets gestaged: config/docker/caddy/web-app/_site"
|
||||
ls -la config/docker/caddy/web-app/_site | sed -n '1,200p'
|
||||
|
||||
# Pangolin-Bypass: Credentials direkt in config.json schreiben.
|
||||
# Kein "docker login" → kein Daemon-Ping → kein HTTPS-Fehler.
|
||||
# BuildKit liest ~/.docker/config.json und verwendet diese Credentials beim Push.
|
||||
|
|
|
|||
|
|
@ -32,8 +32,12 @@ COPY config/docker/caddy/web-app/config.json /usr/share/caddy/config.json.tmpl
|
|||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
# Copy Pre-built Static Assets from Host (WasmJs)
|
||||
# NOTE: You must run `./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution -Pproduction=true` locally first!
|
||||
COPY frontend/shells/meldestelle-web/build/dist/wasmJs/productionExecutable/ /usr/share/caddy/
|
||||
# NOTE: CI (docker-publish.yaml) kopiert die gebauten Artefakte nach
|
||||
# config/docker/caddy/web-app/_site/ bevor dieses Image gebaut wird.
|
||||
# Lokal musst du vorher bauen:
|
||||
# ./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution -Pproduction=true
|
||||
# und die Dateien ebenfalls nach _site/ kopieren.
|
||||
COPY config/docker/caddy/web-app/_site/ /usr/share/caddy/
|
||||
# index.html wird als Template abgelegt; der Entrypoint erzeugt daraus zur Laufzeit die finale index.html
|
||||
RUN mv /usr/share/caddy/index.html /usr/share/caddy/index.html.tmpl
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user