[쉽게 따라하는 AWS] 10. Gradle - SpringBoot 프로젝트 EC2에 배포하기

로컬에서 Gradle Build Tool 및 SpringBoot Framwork 를 사용하여 만든 웹 사이트를 AWS Ec2 인스턴스에 배포하여 실제로 서비스 되게 만들어 봅니다. 로컬에서 Gradle을 활용한 Springboot 프로젝트를 생성하는 방법은 아래 두개의 게시글을 참고하세요.

[참고]

 

 

[Gradle] Gradle로 Java Application 생성 및 실행하기

Gradle 7.4.2v 을 사용하여 앞으로 Test code를 작성할 Java Application Project를 만들어 봅니다. 1. 프로젝트 폴더 생성 및 gradle init 명령어 실행 $ mkdir testGradleProject $ cd testGradleProject $ grad..

min-nine.tistory.com

 

 

IntelliJ에서 Spring Boot 프로젝트 생성 및 실행하기

스프링(Spring)의 설정이 복잡하여 좀 더 쉽게 웹 서비스를 구현할 수 있게 만들어진 스프링 부트(Spring Boot) FrameWork를 사용하여 로컬 환경에서 web 서비스를 구현해 봅니다. IntelliJ에서 보다 쉽게 Spr

min-nine.tistory.com


1. git repository에 로컬에서 개발한 프로젝트 push하기

  • 자신의 git 계정에 새로운 레파지토리를 생성 후 로컬 프로젝트 폴더에 git init로 repository와 연동합니다.
  • .gitignore에 [build][.gradle][.idea] 추가합니다.
  • commit & push 후 잘 되었는지 git repository에서 확인합니다.

 

2. AWS EC2 ssh key 생성 후 git 에 등록하기

  • aws ec2 인스턴스 터미널로 접속 후 ssh-keygen -t rsa -C "your_git_email" 명렁어로 ssh key를 생성합니다.
  • ec2-user를 사용할 경우 생성된 위치는 /home/etc/ec2-user/.ssh/id_rsa.pub 입니다. 
  • cat 명령어를 사용하여 키를 확인한 후에 git > your Profile > SSH and GPG Keys 탭으로 진입합니다.
  • new ssh key 버튼을 클릭하여 aws의 본인 계정에서 만든 id_rsa.pub 값을 입력합니다.
  • 잘 입력됬는지 확인합니다.

 

3. EC2 인스턴스에서 git clone 명령어로 프로젝트를 다운받습니다.

  • 본인은 pwd기준 /home/ec2-user 에서 진행하였습니다.
  • git clone "your git repository SSH Clone"
  • 잘 클론 되었는지 ls 명령어로 확인합니다.

 

4. gradlew 명령어를 사용하여 build합니다.

  • clone으로 다운받은 본인의 프로젝트로 진입하여 gradlew를 사용한 build를 진행합니다.
  • ec2 free tier를 사용할 경우, 메모리가 부족하여 build가 실패합니다. 때문에 스왑메모리를 할당해줘야 합니다.
  • 스왑 메모리 할당 이후 "./gradlew build" 
// dd명령어를 사용한 리눅스 파일시스템에 스왑 파일을 생성하기.
$ sudo dd if=/dev/zero of=/swapfile bs=64M count=16

// 스왑 파일에 대한 읽고쓰기 권한 부여
$ sudo chmod 600 /swapfile

// 스왑 영역을 설정
$ sudo mkswap /swapfile

// 스왑 영역을 추가해주기
$ sudo swapon /swapfile

// 재부팅시 스왑 설정을 알려주기 위한 파일시스템 정보 변경
// 진입 이후 최 하단에 아래 "/swapfile swap swap defaults 0 0" 추가
$ sudo vi /etc/fstab 

// 설정된 스왑 확인
$ free -h
  •  

 

5. build된 war파일을 실행하기

  • gradlew를 사용하여 build된 .war(혹은.jar)파일은 ./build/libs/ 디렉토리에 위치하게 됩니다.
  • java -jar 명령을 사용하여 빌드된 파일을 실행합니다.
$ java -jar ./build/libs/yourBUildFile.war

 

6. ec2 인스턴스 도메인으로 접속하여 사이트가 잘 구동 되는지 확인합니다.

  • 본인은 ec2인스턴스 route53에서 도메인을 등록하였기에 도메인으로 접근.