메이븐(Maven) 기반 서버 배포 세팅방법

태태개발자 2025. 6. 1. 19:40
반응형

메이븐(Maven) 기반으로 B. Git + Build + Run 자동화 방식을 EC2에서 구현하는 방법을 단계별로 정리해 드릴게요.


1. EC2에 JDK & Maven 설치

JDK 설치 (Amazon Linux 2 예시)

sudo yum update -y
sudo yum install java-11-amazon-corretto-devel -y

Maven 설치

Amazon Linux 2 기본 repo에 Maven이 없으면 직접 설치:

sudo yum install maven -y

설치 확인:

mvn -v

2. EC2에 Git 설치 및 프로젝트 클론

sudo yum install git -y
git clone https://github.com/your-repo/your-project.git
cd your-project

3. EC2에서 Maven 빌드 및 실행

echo 'export MAVEN_OPTS="-Xms256m -Xmx768m"' >> ~/.bashrc
source ~/.bashrc

mvn clean package
java -jar target/yourapp-0.0.1-SNAPSHOT.jar
  • target/ 폴더 안에 JAR 생성됨
  • java -jar 명령어로 실행

4. 배포 스크립트 작성 예시

deploy.sh 파일 생성:

#!/bin/bash

# 프로젝트 경로
PROJECT_DIR=/home/ec2-user/your-project

cd $PROJECT_DIR

# 최신 코드 가져오기
git pull origin main

# 빌드
mvn clean package

# 이전 프로세스 종료 (예: 포트 8080 사용하는 프로세스 종료)
PID=$(lsof -ti:8080)
if [ -n "$PID" ]; then
  kill -9 $PID
fi

# 새 애플리케이션 실행
nohup java -jar target/yourapp-0.0.1-SNAPSHOT.jar > app.log 2>&1 &

echo "배포 완료!"

스크립트에 실행 권한 부여:

chmod +x deploy.sh

5. 사용법

  • EC2에 SSH 접속 후
cd /home/ec2-user/your-project
./deploy.sh
  • 스크립트가 최신 코드로 업데이트, 빌드, 이전 앱 종료, 새 앱 실행까지 자동 처리

6. (선택) Systemd 서비스로 등록해서 서버 재부팅 시 자동 시작 가능

원한다면 systemd 설정도 추가로 알려드릴 수 있습니다.


필요하면 상세 설정이나 Nginx 리버스 프록시 설정도 같이 알려드릴게요!

반응형