ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CI/CD
    Back-End 2022. 2. 22. 20:33

    CI (Continuous integration)

    • 지속적인 통합을 의미
    • 직속적인 통합은 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어서 공유 레포지토리에 통합하는 것을 의미한다.

     

    CI가 필요한 환경에서의 조건

    다수의 개발자가 형성관리 툴을 공유하여 사용하는 환경

    • 자동화된 빌드와 테스트는 원천 소스코드의 충돌 등을 방어

     

    MSA(Micro Service Archietecture) 환경

    • 최근에 떠오르고 있는 아키텍쳐 모델
    • MSA는 작은 기능별로 서비스를 짧게 나누어 개발하는 형태를 의미
    • MSA환경에서는 대부분 소규모 기능 단위로 빠르게 개발하는 것과 적용을 반복하는 개발방법론이 적용되기 때문에 기능 추가가 빈번하게 발생하게 된다. 이러한 상황에서 CI의 적용은 기능 충돌 방지 등을 제공한다.

     

    CI의 핵심 목표

    • 버그를 신속하게 찾아 해결
    • 소프트웨어의 품질을 개선
    • 새로운 업데이트의 검증 및 릴리즈의 시간을 단축시키는 것

     

    CD (Continuous Delivery & Continuous Deploymnet)

    • 지속적인 서비스 제공 및 지속적인 배포
    • Continuous Delivery는 공유 레포지토리로 자동으로 릴리즈하는 것
    • Continuous Deployment는 Production 레벨까지 자동으로 Deploy하는 것
    • CI가 새로운 소스코드의 빌드, 테스트, 병합을 의미한다면, CD는 개발자의 변경 사항이 레포지토리를 넘어서, 고객의 Production 환경까지 릴리즈 된는 것을 의미

    출처: https://artist-developer.tistory.com/24

    'Back-End' 카테고리의 다른 글

    TDD (Test-Driven Development) - 테스트 주도 개발  (0) 2022.02.23
    OSI 7계층  (0) 2022.02.23
    SQL Select Query 문법 처리 순서  (0) 2022.02.22
    MongoDB 장점  (0) 2022.02.17
    REST API  (0) 2022.02.15
Designed by Tistory.