프로젝트의 배포를 위해 네이버 클라우드 플랫폼을 사용하게 되었다.
위의 사이트는 현재 네이버 클라우드 플랫폼에서 돌아가고 있는 중이다.
현재 CI/CD까지 적용된 상태이다.
개발을 하면서 기능 별 단위 테스트는 기본적으로 하였다. 그리고 요청별 응답도 제대로 나오는지 확인하기 위해 MockMvc테스트도 진행하였다.
나는 인프라에 대한 것보단 애플리케이션 로직을 짜는 부분을 더 좋아한다. 그래서 그런지 직접 자바코드를 짜고, 테스트를 돌리는 과정이 재밌었다.
특히 리팩토링하는 걸 좋아해서 애플리케이션의 관심사와 Http요청의 관심사를 분리시켜서 코드를 작성한 부분이 마음에 들었다.
젠킨스를 통해 CI/CD를 적용하는 부분은 고난이었다. 일단 어찌저찌 적용하긴 했는데, 왜 처음에 내가 생각한 방법이 안되는지는 지금도 미스테리다. 챗 GPT 한테도 몇번이나 물어봤는데 납득이 안되서, 일단 이부분은 굴러만 가게하고 다음에 다시 보는 걸로 타협을 봤다.
앞의 문제는 젠킨스 컨테이너에서 또 컨테이너를 생성하고 서로 포트포워딩을 하려고 했는데 그게 안됐다. 컨테이너 내부에서 컨테이너를 만들어도 결국 호스트 입장에서는 같은 수준의 컨테이너? 라는 개념을 얼핏 본 것 같기도하고...
아직 이부분은 내가 도커에 깊은 지식을 갖고 있지 않아서 당장 이해할 순 없을 것 같아서 젠킨스컨테이너에서 컨테이너를 만들지 말고, 바로 프로젝트를 빌드하는 식으로 전략을 바꿨다.
이렇게 사용됐다.
쿠버네티스까지 적용을 하고 싶었지만, 그렇지 못했다. 당장 서버 3개만 증설해도 크레딧 닳는 속도가 어마어마하길래 일단은 여기까지만 하기로 했다.