feat(deploy): Multi-Stage-Docker-Build fuer automatisches Deployment
- App_Server/Dockerfile: Build-Context auf Repo-Root, COPY-Pfade angepasst, ENTRYPOINT aktiviert, dev-Stage mit inittypescriptdev.sh - NGINX_Server/Dockerfile: Multi-Stage mit frontend-Stage (Node.js baut TypeScript), statische Dateien und Config-Templates ins Image kopiert - docker-compose.base.yaml: Context auf '.', python-venv Volume entfernt, NGINX_STATIC_DIR/CONFIG_TEMPLATE_DIR bind-mounts in Dev verschoben - docker-compose.dev.yaml: python-venv-dev Volume, APP_DEBUG=true, nginx-proxy mit bind-mounts fuer statische Dateien und Templates - docker-compose.prod.yaml: Code-bind-mount entfernt, nginx-proxy extends - approot.py: absolute Pfade, Debug-Modus via APP_DEBUG Umgebungsvariable - init.sh: vereinfacht (kein cd/pip, absolute Pfade) - inireader.mjs: absoluter Pfad fuer config.ini - package.json: scripts.build (tsc + rollup) ergaenzt - .dockerignore, deploy-kbcrm-test.sh, deploy-kbcrm-prod.sh erstellt - docker-compose.save.yaml geloescht - env-sample: BUILD_ENVIRONMENT nach oben, Dev-only Variablen markiert Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
31ef206bd8
commit
3b3e2893e5
14 files changed
+200
-91
No files matched your search
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
# Deploy-Script: Automatisches Deployment nach TEST (test-prod)
|
||||
# Wird durch Git-Hook/Webhook oder manuell aufgerufen.
|
||||
# Voraussetzungen auf dem Server: git, docker, docker compose.
|
||||
set -euo pipefail
|
||||
|
||||
# Konfiguration — an die jeweilige Server-Umgebung anpassen
|
||||
REPO_DIR=/opt/kbcrm-test/repo
|
||||
COMPOSE_FILE=docker-compose.prod.yaml
|
||||
ENV_FILE=/opt/kbcrm-test/.env
|
||||
TEST_PORT=8443
|
||||
|
||||
echo "=== Deploy KB-CRM TEST ==="
|
||||
|
||||
# 1. Code aktualisieren
|
||||
cd "$REPO_DIR"
|
||||
echo "=== Pulling latest code ==="
|
||||
git fetch origin main
|
||||
git checkout main
|
||||
git reset --hard origin/main
|
||||
|
||||
# 2. Images neu bauen und Container starten
|
||||
echo "=== Building and starting containers ==="
|
||||
docker compose --env-file "$ENV_FILE" -f "$COMPOSE_FILE" up -d --build
|
||||
|
||||
# 3. Health-Check
|
||||
echo "=== Waiting for container startup ==="
|
||||
sleep 10
|
||||
if curl -sf "http://localhost:${TEST_PORT}/health-check" >/dev/null 2>&1; then
|
||||
echo "Health check: OK"
|
||||
else
|
||||
echo "WARNING: Health check failed — check container logs with:"
|
||||
echo " docker compose --env-file $ENV_FILE -f $COMPOSE_FILE logs"
|
||||
fi
|
||||
|
||||
echo "=== Deploy TEST complete ==="
|
||||
Reference in new issue
Block a user