#!/bin/bash set -e WORK_REPO="/home/kjh2064/taxbaik_work" DEPLOY_HOME="/home/kjh2064" WEB_TIMESTAMP=$(date +%Y%m%d_%H%M%S) echo "===== πŸš€ 배포 μ‹œμž‘ =====" # μ½”λ“œ μ—…λ°μ΄νŠΈ cd "$WORK_REPO" git fetch origin master git reset --hard origin/master echo "βœ“ μ½”λ“œ μ—…λ°μ΄νŠΈ" # λΉŒλ“œ dotnet restore TaxBaik.sln > /dev/null 2>&1 dotnet build TaxBaik.sln -c Release --no-restore > /dev/null 2>&1 echo "βœ“ λΉŒλ“œ" # Publish dotnet publish TaxBaik.Web/ -c Release -o ./publish/web > /dev/null 2>&1 dotnet publish TaxBaik.Admin/ -c Release -o ./publish/admin > /dev/null 2>&1 echo "βœ“ λ°œν–‰" # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 및 버전 cp -r db/migrations ./publish/web/migrations 2>/dev/null || true cp -r db/migrations ./publish/admin/migrations 2>/dev/null || true mkdir -p ./publish/web/wwwroot ./publish/admin/wwwroot COMMIT_HASH=$(git rev-parse --short HEAD) BUILD_TIME=$(date -u +'%Y-%m-%d %H:%M:%S UTC') echo "Version: $COMMIT_HASH" > ./publish/web/wwwroot/version.txt echo "Built: $BUILD_TIME" >> ./publish/web/wwwroot/version.txt cp ./publish/web/wwwroot/version.txt ./publish/admin/wwwroot/version.txt echo "βœ“ 버전: $COMMIT_HASH" # Web 배포 WEB_DEPLOY_DIR="$DEPLOY_HOME/deployments/taxbaik_${WEB_TIMESTAMP}" mkdir -p "$WEB_DEPLOY_DIR" cp -r ./publish/web "$WEB_DEPLOY_DIR/" ln -sfn "$WEB_DEPLOY_DIR/web" "$DEPLOY_HOME/taxbaik_active" pkill -9 -f "TaxBaik.Web" 2>/dev/null || true sleep 2 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 1 echo "βœ“ Web 배포" # 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 "$WORK_REPO/publish/admin" "$ADMIN_DEPLOY_DIR/" ln -sfn "$ADMIN_DEPLOY_DIR/admin" "$DEPLOY_HOME/taxbaik_admin_active" pkill -9 -f "TaxBaik.Admin" 2>/dev/null || true sleep 2 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 1 echo "βœ“ Admin 배포" echo "" echo "===== βœ… 배포 μ™„λ£Œ =====" cat "$DEPLOY_HOME/taxbaik_active/wwwroot/version.txt" 2>/dev/null || echo "버전 파일 λ‘œλ”© 쀑..."