BLC Project level.6

한강섭·2025년 7월 2일

BLC 프로젝트

목록 보기
7/9
post-thumbnail

https://blc.ai.kr/

프로젝트 배포를 성공하고 회의를 통해 개발 플로우를 다시 확립했는데, 이에 맞게 배포 방법을 정리해 보고자 한다.

우리의 Git 컨벤션은

Main 브랜치 - 배포 코드

Develop 브랜치 - 코드 통합

feat: 새로운 기능의 추가
fix: 버그 수정
docs: 문서 수정
style: 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우)
refactor: 코드 리펙토링
chore: 빌드 업무 수정, 패키지 매니저 수정(ex .gitignore 수정 같은 경우)

그러면 이제 이슈를 골라서 개발을 끝내면 이제 "feat[#이슈번호] : Commit 내용" 을 적어서 커밋하고 push 해주면 된다.


배포 방법

우리의 아키텍처는 프론트엔드-firebase, 백엔드-EC2, Database-RDS 이다. 프론트엔드와 백엔드 이제 main 브랜치에 새로운 코드가 추가되었다면 배포해야 한다.


FireBase - 프론트엔드

main 브랜치에서 코드를 최신화 해준 뒤

npm run build 

firebase deploy

새롭게 빌드하고 firebase에서 배포 하면 끝!


EC2 로 jar 파일 보내기

메모리를 아끼기 위해서 배포 방식을 로컬에서 jar파일로 압축한 뒤에 EC2로 보내고 EC2에서 실행시키는 방식을 도입했다.


  1. main 브랜치에서 코드를 최신화 해준 뒤 명령어 실행 (로컬에서 빌드)
./mvnw clean package -DskipTests

scp -i /c/Users/user/Desktop/blc-backend-key/blc-backend-key.pem target/blc_backend-0.0.1-SNAPSHOT.jar ec2-user@13.209.49.84:~/blc-backend.jar

100 퍼 될때까지!


  1. EC2 (PuTTY) 에서
ps -ef | grep java 

ps -ef : 실행 중인 프로세스 출력
grep java : 자바만

blc-backend.jar 로 되어있는 PID를 확인해보면 88267 이다!


kill -9 88267

88267 강제 (-9) 종료 (kill)


nohup java -Xms256m -Xmx600m \
           -Dspring.profiles.active=prod \
           -jar blc-backend.jar > app.log 2>&1 &

-Dspring.profiles.active=prod (prod에 있는 설정 받아오기 (application-prod.properties)


백 그라운드에서 실행하기

tail -f app.log

tail -50 (바닦에 있는 50줄)
tail -f (실시간으로 계속)

백엔드 로그 확인하기!

로그 까지 확인하면서 배포를 마무리 할 수 있다!


이제 새로운 추가 기능을 개발해서 테스트를 통해 main 브랜치에 올리고 나면 이와 같은 방식으로 배포해주시면 되겠습니다!!

profile
기록하고 공유하는 개발자

4개의 댓글

comment-user-thumbnail
2025년 7월 3일

배포까지 완벽한 남자

1개의 답글
comment-user-thumbnail
2025년 7월 3일

역시 배포가 다르시네요

1개의 답글