2.3 KiB
2.3 KiB
| type | status | owner | last_update |
|---|---|---|---|
| Journal | ACTIVE | Curator | 2026-02-13 |
Journal - 2026-02-13
📝 Zusammenfassung
Heute wurden Inkonsistenzen in der Konfiguration der Backend-Services behoben, die zu Verbindungsproblemen führten. Zudem wurde der Build-Prozess für das Frontend optimiert.
🛠️ Änderungen
1. Backend Konfiguration (Fix 503 Service Unavailable)
- Problem: Der
ping-servicewar über das Gateway nicht erreichbar (503), da die Route im Gateway hart aufhttp://ping-service:8082kodiert war. Dies funktionierte im Docker-Netzwerk, aber nicht beim lokalen Start (Localhost). - Lösung:
GatewayConfig.kt: Die URI für den Ping-Service wurde dynamisch gemacht (${ping.service.url}).application.yaml(Gateway): Default-Wert fürping.service.urlaufhttp://localhost:8082gesetzt (für lokale Entwicklung).dc-backend.yaml: Environment-VariablePING_SERVICE_URLaufhttp://ping-service:8082gesetzt (für Docker).- Zusätzlich wurden Inkonsistenzen bei Port-Variablennamen (
PING_SERVER_PORTvsPING_SERVICE_PORT) zwischen.envundapplication.yamlbereinigt.
2. Frontend Build Optimierung
- Problem: Der Build
jsBrowserDistribution -Pproduction=truedauerte extrem lange (>15 min) und hing. - Ursache: Generierung von Source Maps im Production-Mode bei großen Kotlin/JS Projekten.
- Lösung:
build.gradle.kts(meldestelle-portal): Logik angepasst, sodass Source Maps im Production-Mode standardmäßig deaktiviert sind (sourceMaps = false), es sei denn, sie werden explizit angefordert.- Ergebnis: Build-Zeit auf ~9 Sekunden reduziert.
📚 Gelerntes
- Source Maps: Sind essenziell für Debugging, aber extrem teuer im Build. Für Production-Builds (Docker Images) sollten sie deaktiviert werden, um Build-Zeiten und Image-Größe zu optimieren.
- Hybrid-Betrieb: Services sollten so konfiguriert sein, dass sie sowohl "fully dockerized" als auch "lokal + Docker-Infra" laufen können, ohne Code-Änderungen (Nutzung von Properties/Env-Vars für Hostnames).
🔜 Nächste Schritte
- Lokalen Test des gesamten Stacks (Frontend im Docker Container + Backend lokal/Docker) abschließen.
- Verifizierung der Keycloak-Integration im Frontend.