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
|
||||
set -Eeuo pipefail
|
||||
|
||||
trap 'echo "[reset][ERROR] Rad ${LINENO}: kommando misslyckades: ${BASH_COMMAND}" >&2' ERR
|
||||
|
||||
# ----------------------------------------
|
||||
# Config
|
||||
# ----------------------------------------
|
||||
@@ -20,6 +22,10 @@ require_cmd() {
|
||||
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
|
||||
# ----------------------------------------
|
||||
@@ -28,6 +34,7 @@ require_cmd git
|
||||
require_cmd grep
|
||||
require_cmd cut
|
||||
require_cmd tr
|
||||
require_docker_compose
|
||||
|
||||
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.flutter.yml" ] || fail "compose.flutter.yml 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)
|
||||
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
|
||||
# ----------------------------------------
|
||||
log "Hämtar senaste kod för recipe-app"
|
||||
git pull origin main
|
||||
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"
|
||||
git pull origin main
|
||||
|
||||
log "Hämtar senaste kod för microservice-importer"
|
||||
(cd "$IMPORTER_DIR" && git pull origin main)
|
||||
if [ -d "$IMPORTER_DIR/.git" ]; then
|
||||
log "Hämtar senaste kod för microservice-importer"
|
||||
(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
|
||||
|
||||
Reference in New Issue
Block a user