프로젝트/협업 프로젝트(2023.12.18-2024.01.25)

[Key Word 개발기] CI/CD 어떻게 할것인가...

dal_been 2024. 1. 2. 22:59
728x90

협업프로젝트하면서 부트캠프 쪽에서는 CI/CD까지 완성하기를 바라시는 것같다. 물론 하면 좋긴한데... 나뿐만 아니라 우리 백엔드 팀원들이 배포를 해본 경험이 없어서... 잘할 수 있을지 걱정 가득..

 

일단 어떻게 CI/CD를 할 것인지 구조는 대충 정해졌다.

 


CI & CD

 

CI는 GitHub Actions를 이용하기로 했다. CD는 Jenkins를 이용한다. 

 

CI에서 GitHub Actions를 이용한 이유는

PR과정에서 테스트코드가 작동되는지 확인하는 점이 프로젝트 배포과정에서 오류같은 이슈를 많이 줄것이라고 생각했다.

 

 

CD에서 Jenkins를 이용한 이유는 처리속도가 Jenkins가 더 빠르다

사실 우리 조가 무중단 배포까지 구현할 수 있을지는 모르겠다. 다만 무중단 배포를 안할 경우 배포되는 시간을 줄이는게 중요하다고 생각한다. 그이유는 배포중에 서비스가 중단되기 때문이다.

 

그래서 대략 GitHub ACtions과 jenkins 1.5배??정도 차이난다는 글을 본거같다 물론 얼마안되는 시간이지만 그럼에도 중단되는 서비스 시간을 줄이는게 중요하다고 생각한다.

(물론 프로젝트의 크기나 상황에 따라 다를수 있기에 테스트 해볼 예정)

 


아직 완전히 확정은 아니다. 하다보면 gitactions만 이용할 수도.. 서비스 자체가 작아서..ㅎㅎ 
음..플러스적으로 생각할 건 spring batch서버를 따로 띄우라는 멘토님 말씀이 있었는데... 이것도 알아봐야한다.. 내자신 힘내라..