64 lines
2.8 KiB
Bash
64 lines
2.8 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Deploy script for AAMOS Admin v2 — Unified Dashboard
|
||
|
|
set -uo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
AMOS_DIR="/opt/amos"
|
||
|
|
PUBLIC_ADMIN="$AMOS_DIR/public/admin-v2"
|
||
|
|
PORT="${PORT:-3100}"
|
||
|
|
|
||
|
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
|
||
|
|
|
||
|
|
STEPS_OK=0; STEPS_FAIL=0
|
||
|
|
|
||
|
|
ok() { echo -e "${GREEN}✓${NC} $*"; STEPS_OK=$((STEPS_OK + 1)); }
|
||
|
|
fail() { echo -e "${RED}✗${NC} $*"; STEPS_FAIL=$((STEPS_FAIL + 1)); }
|
||
|
|
info() { echo -e "${BLUE}→${NC} $*"; }
|
||
|
|
warn() { echo -e "${YELLOW}⚠${NC} $*"; }
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "══════════════════════════════════════════════"
|
||
|
|
echo " AAMOS Admin v2 — Deploy $(date '+%Y-%m-%d %H:%M:%S')"
|
||
|
|
echo "══════════════════════════════════════════════"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# ── 1. Build Go backend ────────────────────────────────────────────────────────
|
||
|
|
info "Building Go backend..."
|
||
|
|
if (cd "$SCRIPT_DIR/backend" && go build -o bin/aamos-admin . 2>&1); then
|
||
|
|
ok "Go backend built → backend/bin/aamos-admin"
|
||
|
|
else
|
||
|
|
fail "Go backend build failed"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# ── 2. Deploy web/ → /opt/amos/public/admin-v2/ ───────────────────────────────
|
||
|
|
info "Deploying web assets → $PUBLIC_ADMIN..."
|
||
|
|
mkdir -p "$PUBLIC_ADMIN"
|
||
|
|
if command -v rsync &>/dev/null; then
|
||
|
|
COPY_CMD="rsync -a --delete $SCRIPT_DIR/web/ $PUBLIC_ADMIN/"
|
||
|
|
else
|
||
|
|
COPY_CMD="cp -a $SCRIPT_DIR/web/. $PUBLIC_ADMIN/"
|
||
|
|
fi
|
||
|
|
if eval "$COPY_CMD" 2>&1; then
|
||
|
|
FILE_COUNT=$(find "$PUBLIC_ADMIN" -type f | wc -l)
|
||
|
|
ok "Web assets deployed ($FILE_COUNT files)"
|
||
|
|
else
|
||
|
|
fail "Web asset deploy failed"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# ── 3. Summary ─────────────────────────────────────────────────────────────────
|
||
|
|
echo ""
|
||
|
|
echo "══════════════════════════════════════════════"
|
||
|
|
TOTAL=$((STEPS_OK + STEPS_FAIL))
|
||
|
|
if [ $STEPS_FAIL -eq 0 ]; then
|
||
|
|
echo -e " ${GREEN}DEPLOY OK${NC} — $STEPS_OK/$TOTAL steps passed"
|
||
|
|
echo " Admin URL: http://127.0.0.1:$PORT/admin-v2/"
|
||
|
|
echo " Backend: $SCRIPT_DIR/backend/bin/aamos-admin"
|
||
|
|
else
|
||
|
|
echo -e " ${YELLOW}DEPLOY PARTIAL${NC} — $STEPS_OK passed, $STEPS_FAIL failed (of $TOTAL)"
|
||
|
|
echo " Review errors above."
|
||
|
|
fi
|
||
|
|
echo "══════════════════════════════════════════════"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
[ $STEPS_FAIL -eq 0 ]
|