#!/bin/bash # AWS 서버 파일 업로드 스크립트 # 사용법: ./deploy-aws.sh set -e AWS_SERVER=$1 AWS_USER=$2 AWS_KEY_PATH=$3 JAR_FILE=$4 DEPLOY_PATH=$5 if [ -z "$AWS_SERVER" ] || [ -z "$AWS_USER" ] || [ -z "$AWS_KEY_PATH" ] || [ -z "$JAR_FILE" ] || [ -z "$DEPLOY_PATH" ]; then echo "사용법: $0 " echo "예시: $0 47.129.51.216 root /path/to/key.pem target/core.jar /home/run" exit 1 fi echo "=== AWS 서버 파일 업로드 시작 ===" echo "AWS Server: $AWS_SERVER" echo "AWS User: $AWS_USER" echo "JAR File: $JAR_FILE" echo "Deploy Path: $DEPLOY_PATH" # JAR 파일 존재 확인 if [ ! -f "$JAR_FILE" ]; then echo "❌ JAR 파일을 찾을 수 없습니다: $JAR_FILE" exit 1 fi # AWS 키 파일 존재 확인 if [ ! -f "$AWS_KEY_PATH" ]; then echo "❌ AWS 키 파일을 찾을 수 없습니다: $AWS_KEY_PATH" exit 1 fi # AWS 서버 연결 테스트 echo "AWS 서버 연결 테스트 중..." ssh -i "$AWS_KEY_PATH" -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$AWS_USER@$AWS_SERVER" "echo 'AWS 서버 연결 성공'" if [ $? -ne 0 ]; then echo "❌ AWS 서버 연결 실패" exit 1 fi # AWS 서버에서 배포 디렉토리 생성 및 권한 설정 (root 권한으로) echo "AWS 서버에서 배포 디렉토리 생성 중... (root 권한)" ssh -i "$AWS_KEY_PATH" "$AWS_USER@$AWS_SERVER" "sudo su - root <