AWS EC2에서 Git을 통해 프로젝트를 다운 받아 build를 진행

하지만 지속적인 배포를 함에 있어 매번 프로젝트를 다운받고 서버를 껏다 키는 작업을 하다가 CI/CD의 필요성을 느낌
따라서 아래와 같은 구조로 CI/CD 사용을 구상함

AWS FreeTier의 RAM은 Jenkins를 구동 시키기에 너무 적은 용량이라 디스크 용량에서 메모리를 빌리기 위한 SWAP 메모리를 해야함
하지만 디스크 30GB에서 2GB를 빼가고 여기에 Spring Boot를 실행시키는데 필요한 자원까지 더해지니 자원이 부족해 과금 될 상황이 나옴
AWS는 이메일을 보내지도 않고 과금을 해버리는 경우가 다반사라 대책이 필요
따라서 Spring Boot만이라도 다른 EC2 환경에서 작업하도록 결정
최종적으로 아래와 같은 형태로 배포

FROM openjdk:17-jdk
VOLUME /tmp
ARG JAR_FILE=./build/libs/shoppingmall-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","app.jar"]
위치 : Project 패키지 바로 밑에 위치
FROM : Java 17 버전을 사용했기에 맞게 설정