22.03.02_CI/CD
본문 바로가기
CS Study/TestCode

22.03.02_CI/CD

by KyeongMin 2022. 3. 2.
728x90
반응형

01.CI/CD

  • CI/CD는 앱 개발 단계를 자동화 하여 앱을 보다 짧은 주기로 고객에게 제공하는 방법
  • CI/CD의 기본 개념은 지속적인 통합
    • 지속적인 서비스 제공
    • 지속적인 배포
  • CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제
    • 인테그레이션 헬 을 해결하기 위한 솔루션
  • 특히, CI/CD는 앱의 통합 및 테스트 단계에서 부터 제공 및 배포에 이르는 앱의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공함
    • 이러한 구축 사례를 일반적으로 CI/CD 파이프라인 이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됨

02.CI와CD의 차이점은 무엇일까?

  • CI/ CD는 약어로, 몇 가지의 다른 의미를 가지고 있음
    • CI/CD의 CI는 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미
    • CI를 성공적으로 구현할 경우 앱에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어
      • 공유 리포지토리에 통합되므로 여러명의 개발자가 동시에 앱 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있음
  • CI/ CD의 CD는 지속적인 서비스 제공(Continuous Delivery) 및 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어느 상호 교환적으로 사용됨
    • 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만
      • 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 함
  • 지속적인 제공이란
    • 개발자들이 앱에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드 되는 것을 뜻함
    • 운영팀은 이 리포지토리에서 앱을 실시간 프로덕션 환경으로 배포할 수 있음
      • 이는 개발팀과 비지니스팀 간의 가시성과 커뮤니케이션 부족 문제를 해결해 줌
    • 지속적인 제공은 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 함
  • 지속적인 배포란
    • 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것을 의미
    • 이는 앱 제공 속도를 저해하는 수동 프로세스로 인한 운영팀의 프로세스 과부하 문제를 해결함
      • 지속적인 배포는 파이프라인의 다음 단계를 자동화함으로써 지속적인 제공이 가진 장점을 활용

https://github.com/3DPIT/study/blob/master/02.studyData/05.Csharp/2022/CICD/22.03.02_CICD.md

 

728x90
반응형

'CS Study > TestCode' 카테고리의 다른 글

22.03.03_EndToEndTest란  (0) 2022.03.04
22.03.03_3A란  (0) 2022.03.04
22.03.02_뮤테이션테스트  (0) 2022.03.02
22.02.16_CICD를위한E2ETEST  (0) 2022.02.16
22.02.09_머지소트알고리즘구현및테스트코드작성  (0) 2022.02.09

댓글