Java

CI/CD란? 지속적 통합, 지속적 제공(배포)

솔솔 2021. 9. 1. 11:44
반응형

오늘은 유튭보고 배운 내용을 기록

 

1. CI/CD 란?

  • 애플리케이션 개발부터 배포때까지 모든 단계들을 자동화를 통해 효율적으로 빈번히 배포할 수 있도록 하는 것

2. CI

  • Continuous Integration 지속적인 통합
  • 코드변경 사항을 주기적으로 빈번히 머지해야함
  • 통합을 위한 단계(빌드, 테스트, 머지)의 자동화
  • 장점
    • 개발 생산성 향상
    • 결함, 문제점 등을 빠르게 발견, 버그 수정에 용이
    • 코드 퀄리티 향상

 

3. CD

  • CD는 두가지로 나뉜다.
  • Continuous Delivery 지속적인 제공 => 검증이 완료되면 수동적으로 배포하는 것
  • Continuous Deployment 지속적인 배포 => 검증이 완료되면 자동적으로 배포하는 것

배포 순서 (이 과정에서 Build, Test => CI / Deploy => CD)

1. Code

2. Build

3. Test

4. Release

5. Deploy

 

4. CI/CD Tool

  • Jenkins
  • Buildkite
  • Github Actions
  • GitLab
  • Bitbucket
  • CircleCI
  • 등등 이 있고, 회사나 상황에 맞게 사용하면 될 것 같다.

 

반응형