특다모 Jenkins 적용기 #0

김동연·2023년 11월 9일
0
post-thumbnail

서론

후배가 기획했던 특다모라는 프로젝트의 백엔드 엔지니어로 참여하게 되었다.
처음에는 그냥 간단하게 EC2 서버 하나에다가 MVP 만들어주고 끝낼라 했는데 취업이 안되면서 그냥 시간이 많이 남게됐다.

그래서 이왕 하는거 이전에 프로젝트를 하던 행록의 CI/CD를 참고해서 Dockerhub를 이용한 docker jar 이미지를 배포하는 형식으로 설계를 해볼려고 한다.
(이왕 더 하는거 이력서에 추가하기 좋게)

목표

  • 목표
  • 행록 CI/CD 구조도

행록의 경우 다음과 같이 github action을 통해 ci를 진행하고 jenkins에서 spring을 jar로 빌드하여 jar파일 자체를 ssh 송신을 통해 운영서버로 넘겨주는 구조였다.

여기서 추가로 하고 싶은 부분은 빌드한 jar파일을 jenkins에서 docker이미지로 빌드하고 이를 dockerhub에 push하여 이를 운영서버에서 docker로 run하여 컨테이너로 관리하려고 하는 것이다.

jar파일을 도옥커로 관리하는 이유

  • 관리하기 편함
    이전 행록 프로젝트에서 jar로 배포할 때에는 배포할때마다 jar를 서버에 보관할 공간이 없어 덮어썼다. 이 경우 롤백을 해야할때 github에서 부터 revert를 하고 다시 빌드를 해야했다. 하지만 dockerhub에 이미지를 저장할 경우 다시 빌드할 필요없이 이전 버전의 image를 pull받아오기만 하면된다.

1개의 댓글

comment-user-thumbnail
2024년 1월 7일

이거구나...

답글 달기