fix(reset-script): improve error handling and skip logic for git pull in reset script
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
trap 'echo "[reset][ERROR] Rad ${LINENO}: kommando misslyckades: ${BASH_COMMAND}" >&2' ERR
|
||||||
|
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# Config
|
# Config
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
@@ -20,6 +22,10 @@ require_cmd() {
|
|||||||
command -v "$1" >/dev/null 2>&1 || fail "Saknar kommando: $1"
|
command -v "$1" >/dev/null 2>&1 || fail "Saknar kommando: $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_docker_compose() {
|
||||||
|
docker compose version >/dev/null 2>&1 || fail "docker compose saknas eller fungerar inte"
|
||||||
|
}
|
||||||
|
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# Preflight
|
# Preflight
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
@@ -28,6 +34,7 @@ require_cmd git
|
|||||||
require_cmd grep
|
require_cmd grep
|
||||||
require_cmd cut
|
require_cmd cut
|
||||||
require_cmd tr
|
require_cmd tr
|
||||||
|
require_docker_compose
|
||||||
|
|
||||||
cd "$APP_DIR" || fail "Kunde inte byta till katalog: $APP_DIR"
|
cd "$APP_DIR" || fail "Kunde inte byta till katalog: $APP_DIR"
|
||||||
|
|
||||||
@@ -35,7 +42,6 @@ cd "$APP_DIR" || fail "Kunde inte byta till katalog: $APP_DIR"
|
|||||||
[ -f "compose.yml" ] || fail "compose.yml saknas"
|
[ -f "compose.yml" ] || fail "compose.yml saknas"
|
||||||
[ -f "compose.flutter.yml" ] || fail "compose.flutter.yml saknas"
|
[ -f "compose.flutter.yml" ] || fail "compose.flutter.yml saknas"
|
||||||
[ -f "$SEED_FILE" ] || fail "$SEED_FILE saknas"
|
[ -f "$SEED_FILE" ] || fail "$SEED_FILE saknas"
|
||||||
[ -d "$IMPORTER_DIR/.git" ] || fail "Importer-repot hittades inte i $IMPORTER_DIR"
|
|
||||||
|
|
||||||
# Läs DB-variabler från .env (samma stil som manuella seed-kommandon)
|
# Läs DB-variabler från .env (samma stil som manuella seed-kommandon)
|
||||||
DB_PASS="$(grep '^MARIADB_ROOT_PASSWORD=' .env | cut -d '=' -f2 | tr -d '"' | tr -d "'")"
|
DB_PASS="$(grep '^MARIADB_ROOT_PASSWORD=' .env | cut -d '=' -f2 | tr -d '"' | tr -d "'")"
|
||||||
@@ -54,11 +60,19 @@ read -r -p "Fortsätt? Skriv JA för att bekräfta: " CONFIRM
|
|||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# Pull latest code
|
# Pull latest code
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
|
if [ "${SKIP_GIT_PULL:-0}" = "1" ]; then
|
||||||
|
log "SKIP_GIT_PULL=1 -> hoppar över git pull"
|
||||||
|
else
|
||||||
log "Hämtar senaste kod för recipe-app"
|
log "Hämtar senaste kod för recipe-app"
|
||||||
git pull origin main
|
git pull origin main
|
||||||
|
|
||||||
|
if [ -d "$IMPORTER_DIR/.git" ]; then
|
||||||
log "Hämtar senaste kod för microservice-importer"
|
log "Hämtar senaste kod för microservice-importer"
|
||||||
(cd "$IMPORTER_DIR" && git pull origin main)
|
(cd "$IMPORTER_DIR" && git pull origin main)
|
||||||
|
else
|
||||||
|
log "Importer-repot hittades inte i $IMPORTER_DIR -> hoppar över importer git pull"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# Full reset + rebuild
|
# Full reset + rebuild
|
||||||
|
|||||||
Reference in New Issue
Block a user