#!/bin/bash set -e DEPLOY_HOME="/home/kjh2064" WEB_TIMESTAMP=$(date +%Y%m%d_%H%M%S) echo "===== πŸš€ TaxBaik 배포 슀크립트 =====" echo "Web Timestamp: $WEB_TIMESTAMP" # Web 배포 echo "=== Deploying Web ===" WEB_DEPLOY_DIR="$DEPLOY_HOME/deployments/taxbaik_${WEB_TIMESTAMP}" mkdir -p "$WEB_DEPLOY_DIR" if [ -z "$1" ]; then echo "Error: Publish directory required" exit 1 fi # 첫 번째 μΈμžλŠ” publish 경둜 cp -r "$1/web" "$WEB_DEPLOY_DIR/" ln -sfn "$WEB_DEPLOY_DIR/web" "$DEPLOY_HOME/taxbaik_active" echo "βœ“ Web symlink updated: $WEB_DEPLOY_DIR/web" # Admin 배포 echo "=== Deploying Admin ===" ADMIN_TIMESTAMP=$(date +%Y%m%d_%H%M%S) ADMIN_DEPLOY_DIR="$DEPLOY_HOME/deployments/taxbaik_admin_${ADMIN_TIMESTAMP}" mkdir -p "$ADMIN_DEPLOY_DIR" cp -r "$1/admin" "$ADMIN_DEPLOY_DIR/" ln -sfn "$ADMIN_DEPLOY_DIR/admin" "$DEPLOY_HOME/taxbaik_admin_active" echo "βœ“ Admin symlink updated: $ADMIN_DEPLOY_DIR/admin" # ν”„λ‘œμ„ΈμŠ€ μž¬μ‹œμž‘ echo "=== Restarting processes ===" pkill -9 -f "TaxBaik.Web" || true pkill -9 -f "TaxBaik.Admin" || true sleep 3 echo "=== Starting Web ===" cd "$DEPLOY_HOME/taxbaik_active" export ConnectionStrings__Default="Host=localhost;Database=taxbaikdb;Username=taxbaik;Password=taxbaik123" export ASPNETCORE_ENVIRONMENT=Production export ASPNETCORE_URLS=http://127.0.0.1:5001 nohup /usr/local/dotnet/dotnet TaxBaik.Web.dll > web.log 2>&1 & sleep 2 ps aux | grep TaxBaik.Web | grep -v grep && echo "βœ“ Web started" || echo "βœ— Web failed" echo "=== Starting Admin ===" cd "$DEPLOY_HOME/taxbaik_admin_active" export ASPNETCORE_URLS=http://127.0.0.1:5002 nohup /usr/local/dotnet/dotnet TaxBaik.Admin.dll > admin.log 2>&1 & sleep 2 ps aux | grep TaxBaik.Admin | grep -v grep && echo "βœ“ Admin started" || echo "βœ— Admin failed" echo "" echo "===== βœ… 배포 μ™„λ£Œ =====" cat "$DEPLOY_HOME/taxbaik_active/wwwroot/version.txt" 2>/dev/null || echo "Version file not found"