Browse Source

배포 스크립트 작성

[UC]임종현 6 months ago
parent
commit
4bf43c0996
2 changed files with 69 additions and 0 deletions
  1. 27 0
      1.key
  2. 42 0
      deploy.sh

+ 27 - 0
1.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA0EWTiHNRDIN92tVyjeyQZVPr30kUB8yEyXqJaI9qXGlpclWM
+x2kj2aYBsbBan8mE3rX8yWxUPmvMi+usmf9jjZtOD3G//B7PfifpXreBTzy3Jqcm
+GQB8qlIVkYuFi6Jnlda60fov6Z0k6AJeQStbsC1/OlBLjR+VO/3D+uJOWMq+c2qg
+OJMnS2kbDAm4conLAxAZ9puvtFPY3xs0JYN22PGLaFkQ9QIu3QYaFxXBWTLdTjEk
+FEAsbay46Vh/AMQb7MoxzwH2fNxYs6NH9AmOigD5T5JJScTscTWCgCgm9LYaOwgP
+3IrpAmQ1aO9EEC5xbi5JNfo1B7XIlrzwxhqaPQIDAQABAoIBACKQxYtCHjuuMAtL
+XQN+dTmH68/nPD6OHCSnJFp44N1c9k3uMlrfEX7cDRBtNSErTBS9TeqtAq9Ia052
+ivMU/nQASDyKc6M3htbIb3QTjw+0Qy5UU9+W49nNnTxGVF/oEHp/BIr4U47ZUIh7
+6iI1PLaY2nJ2ZI+TpAwskePXvsp/8IDoi4MgEHuyQ+zkBB4zNNlfZmdvz2ThFHn5
+tudya3+i2Istyj1ruJf7MJp2ZXbunqwQJAE6q5m66YJJyAbT3C9tXMoXYp60Q5fO
+bbYuZiNvIwUn3qSfFdyNLARy/lAh3gbQNPLse0TZADrAnCV/qlx9j9KmGh5P8kUp
+FauuUckCgYEA/5XYikXVo5KJmhCI32+yfksGlwj9etaNGoDthmeYcBC6l+xPYzkA
+KYlFhc2qbDKSPzrTdMHehQz0qFIAp6+jzFphDM5Njkobt3+Qdnxa0QI0Fxr59uHE
+sdjbMSWlR7BE+xwcNlsZ0S50TnOsVX1i0q9dQHhD43xdFVcjN7dgmkUCgYEA0JwU
+UJLPUTr4hSyUAxVSPbruodddeTeyq6GurcqAoBpgznMIfHAxKfl6OhFqEDj6XAcw
+tII+nLBQJVJzdaZduRW8sBwvbtPZseUdNwxXj0qKTlSziOYyqvp5trphesIFr4xE
+H23ofSmD4T6X0AbFDoWr/4EB8NLFrYhO1vvWu5kCgYEA+XxnLMpwecRgJ5C+WwUo
+gllwLFytOoxWnql9srZLOhFKY2RcNin8+46w26TgF8/hrHEa2p0oPk5gQDITy5wK
+0z7h/2Mel6fFmICgHtjSubVh7a/6ksDdhRF/HWF3DhyFqW1OKM0SzXuAMth9P9Iu
+diSSbY04D8ZlAqDVktyhItUCgYB+Xk4gEQ7tUh/B7KMsyvmq01ZDS8cf6xGczrCW
+LpmEYvZJmX2GhCAEIVBdZLcvZJSksuZaMpvjJxslwLCYkFMuD3Dh7fD93e99yCDO
+e/d+odTuZnjrcSc4U8rvWjA6wNXY5ctOjrHLQB7Xj6c/KRquFWN/v5KBY+zDllLM
+AHqv4QKBgQDqBjboVwtX32y81xnfdqLJ88BCtgvVuPqICZ0vTYx82zca5yCqAZYt
+okSmjsGV0fdzED1dRhK2uj7W/CldmiFVnqMZNxcrCMK5k1q2z38P7RCMet5BTctv
+ysOtfnn8RIVlRNF1ysSarpLt3Tncbsg8QUH1rHSMQmXy132N4+vZNQ==
+-----END RSA PRIVATE KEY-----

+ 42 - 0
deploy.sh

@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# ===== 설정 =====
+KEY="./1.key"
+USER="ubuntu"
+HOST="129.154.58.6"
+REMOTE_DIR="/var/www/bandosj.com/public_html"
+ARCHIVE_NAME="dist.tar.gz"
+
+# ===== nvm 초기화 및 빌드 =====
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
+
+echo "🟢 Node.js LTS 버전 활성화..."
+nvm use --lts || { echo "❌ Node 설정 실패"; exit 1; }
+
+echo "🔧 빌드 중..."
+npm install
+npm run build || { echo "❌ 빌드 실패"; exit 1; }
+
+# ===== 압축 =====
+echo "📦 dist 디렉토리 압축 중..."
+tar -czf "$ARCHIVE_NAME" -C dist .
+
+# ===== 파일 전송 =====
+echo "🚀 압축 파일 전송 중..."
+scp -i "$KEY" "$ARCHIVE_NAME" "$USER@$HOST:/tmp/$ARCHIVE_NAME" || { echo "❌ 파일 전송 실패"; exit 1; }
+
+# ===== 원격 서버에서 압축 해제 및 배치 =====
+echo "🔧 서버에서 배포 진행..."
+ssh -i "$KEY" "$USER@$HOST" << EOF
+    sudo mkdir -p "$REMOTE_DIR"
+    sudo rm -rf "$REMOTE_DIR"/*
+    sudo tar -xzf /tmp/$ARCHIVE_NAME -C "$REMOTE_DIR"
+    sudo rm /tmp/$ARCHIVE_NAME
+EOF
+
+# ===== 로컬 정리 =====
+rm "$ARCHIVE_NAME"
+
+# ===== 완료 =====
+echo "✅ 배포 완료! http://bandosj.com 에서 확인해보세요."