본문 바로가기
회고 모음/Project

6. CI, CD 설정 (젠킨스, 도커)

by e-pd 2021. 4. 1.

개발을 진행하기전에 소스 통합, 배포를 설정해야했다.

(DevOps의 관해서는 AWS에서 잘 설명하고 있다. )

aws.amazon.com/ko/devops/

 

데브옵스 – Amazon Web Services(AWS)

AWS Elastic Beanstalk AWS Elastic Beanstalk는 Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조

aws.amazon.com

 

로컬에서 정상 작동뿐만 아니라

 

원격에서 정상적으로 테스트가 되고 배포가 되는지 확인해야할 필요가 있기때문이다.

 

프로젝트가 Front, Backend로 나뉘어져있고 현재 빌드는 SpringBoot가 빌드되면서 React가 동시에 빌드되도록 설정을

해둔 상태이다. 각각 프로젝트를 설정해서 빌드를 해두었다면 GITHUB ACTION을 사용했겠지만

통합 빌드가 되고있고 생각보다 절차가 복잡하여 젠킨스를 사용하였다.

 

 

깃헙에 푸쉬가 되면 Jenkin가 테스트와 빌드를 한다.

그리고 빌드 파일을 도커 이미지로 만들어 아마존 EC2에 배포를 하는 형식이다.

 

처음에는 로컬 환경처럼 gradle로만 빌드하려고 했는데 생각보다 빌드 이슈가 많았다.

그래서 프로젝트에 npm build 이후 gradle을 빌드하는 방식으로 변경하였다.

젠킨스가 빌드와 테스트를 하기때문에 빌드파일을 도커로 만들었다.

 

 

만들어진 도커파일로 배포가 되게 만들었다.

 

생각보다 설정이 까다로웠다.

 

spring boot에서 docker 설정은 공식 문서을  참고 했다.

spring.io/guides/gs/spring-boot-docker/

 

Spring Boot with Docker

this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and techniques as recommended by the Spring team

spring.io

 

'회고 모음 > Project' 카테고리의 다른 글

8. Nginx 설정  (0) 2021.04.09
7. 부하 테스트  (0) 2021.04.03
5. 프로젝트 설정  (0) 2021.03.27
4. 일정 관리  (0) 2021.03.26
3. 소리내어 모델링하기  (0) 2021.03.23