CI/CD 배포 자동화

징징징·2023년 3월 28일

CI/CD

어플리케이션 개발 단계부터 배포까지의 단계들을 자동화를 통해 효율적이고 빠르게 배포 가능하도록 하는 기능

CI(Continuous Integration)

  • 지속적인 통합
  • 빌드(build), 테스트(test), 머지(merge)의 자동화
  • 주기적으로 main repository에 build, test 되어 merge 되는 방식
  • 개발자는 코드 변경사항을 '주기적'으로 빈번하게 머지해야한다!

CD(Continuous Delivery / Deployment)

  • 지속적인 제공(delivery) / 배포(deployment)
  • Release-Deploy-Operate
  • Continuous Delivery(지속적인 제공) : CI단계 + 배포 준비(release) 후 수동적인 검증 및 배포가
    이루어진다.
  • Continuous Deployment(지속적인 배포) : CI단계 + 배포 준비(release) + 배포 모든 과정을 자동화 한다.

CI/CD 장점

  1. 머지 충돌을 피할 수 있어 개발의 생산성을 높인다.
  2. 문제점을 빠르게 발견할 수 있고, 빠르게 수정이 가능하다.
    • 주기적으로 이루어지기 때문에 빠른 처리를 하게 된다.
  3. 코드 퀄리티가 향상된다.
    • 유닛테스트를 포함하므로 안정성이 높아진다.
  4. 수동적이고 반복적인 작업을 자동화하므로 시간 절약을 할 수 있다.

🔗 이미지출처

CI/CD 를 위한 Tools

  • Jenkins
  • Buildkite
  • Github action
  • Bitbucket Pipelines
  • Circleci
    ..
profile
꾸준히 나를 발전시키자 🫶

0개의 댓글