Skip to content

Project CI 전략

Cass edited this page Oct 30, 2024 · 2 revisions

CI-Job

Jacoco를 사용한 Coverage 테스트

  • Branch와 Line 커버리지 측정을 진행
    • 조건 커버리지는 불필요하게 자세하고, 함수 커버리지는 함수 내의 모든 조건문을 확인하기 어려우므로 제외
  • 테스트 통과 기준은 커버리지가 80% 이상일 때
    • 80%를 기준으로 한 이유는 참고한 대부분의 프로젝트들이 80%를 기준으로 하고 있어서
    • 테스트를 진행하면서 기준 변경의 필요성이 생긴다면 그 때 변경을 고려하면 될 듯함
  • PR 시 Github Action과 Jacoco 라이브러리를 사용해 테스트를 진행하고, 결과를 PR commend에 추가

CD

기존 AWS에서 사용했던 방식 (Kubernetes 미사용시)

  1. Github Action을 통해 프로젝트 build 후 클라우드 파일 시스템에 업로드
    • 애플리케이션은 빌드 후 Docker image로 패키징
    • AWS S3
  2. 이미지를 배포 서버에 다운로드
    • AWS CodeDeploy
  3. blue-green 방식으로 신규 이미지를 배포
    • AWS CodeDeploy
    • blue, green 두 컨테이너의 port number를 다르게 하고, nginx로 포워딩되는 포트 number를 교체하는 방식

AWS to NCP

  • CodeDeploy와 유사한 역할을 하는 것이 sourceDeploy로 보임
  • S3 : Object Storage
  • 도커 컨테이너 이미지 전용 서비스인 Container Registry 도 사용 가능할 것으로 보임