Computer Science/CI&CD

[CI/CD] CI/CD란, CD 기본 구축

Bay Im 2024. 1. 11. 16:44
CI/CD 란
  • CI (Continuous Integration)
    • 지속적인 통합이라는 의미
    • 어플리케이션의 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레포지토리에 통합하는 것을 의미
    • CI가 필요한 환경
      • 여러 개발자가 형상관리 툴(Git)을 공유하여 사용하는 환경
        • 자동화된 필드 및 테스트 
      • MSA(Micro Service Architecture) 환경
        • MSA는 작은 기능 별로 서비스를 잘개 쪼개어 개발하는 형태
        • 애자일 방법론 적용
        • 기능 충돌 방지 
  • CD (Continuous Delivery, Continuous Deployment)
    • 지속적인 서비스 제공, 지속적인 배포라는 의미
    • 개발자의 변경 사항이 고객의 프로덕션 환경까지 release 되는 것을 의미 (자동화) 
    • Continuous Delivery는 공유 레포지토리로 자동으로 release 하는 것
    • Continuous Deployment는 production 레벨까지 자동으로 deploy 하는 것을 의미

 

CD 기본 구축
  • Github Action 사용
    • github 레포지토리에 들어가서 상단의 Actions 메뉴 클릭
    • Java with gradle 클릭
    • name: Build with Gradle 수정
- name: Build with Gradle
      #uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0
      #with:
        #arguments: build
      run: ./gradlew clean build
728x90