diff --git a/deploy_from_repo.sh b/deploy_from_repo.sh new file mode 100644 index 0000000..3fdc552 --- /dev/null +++ b/deploy_from_repo.sh @@ -0,0 +1,68 @@ +#!/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 "버전 파일 λ‘œλ”© 쀑..."