본문 바로가기

Research

CI/CD

1. BackGround

  • 모든 개발이 완료된 이후에 코드 품질을 관리하는 방식의 단점을 해소
  • 분업과 협업의 과정에서는 코드의 통합 과정이 까다롭고 통합 테스트 하는데 많은 Cost가 발생하는 문제를 해소
  • 개발 브랜치가 일정 기간 이상 이용되면, 많은 위험성이 커지는 단점을 극복하고자 변동 내용의 반영 빈도를 늘리는 자동화 등장

기존 방식

2. CI/CD 란?

  • CI/CD는 개발 단계를 자동화 하여 Application을 보다 짧은 주기로 고객에게 제공하는 방법
  • 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포를 가능하게함
  • 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 솔루션

CI/CD 적용 방식

3. CI(Continuous Integration, 지속적 통합)란?

  • 개발을 하면서 코드에 대한 통합을 지속적으로 진행하여 품질을 유지하는 것
  • 개발자간의 코드 충돌 방지
  • 정기적인 빌드 및 테스트를 통해 공유 저장소(Repository)에 병합되는 과정

4. CD(Continuous Delivery, 지속적 배포)

  • 변경 사항이 버그 테스트를 거쳐 저장소(Repository)에 자동으로 업로드 되는 것
  • 변경 사항을 저장소에서 실제 서비스까지 자동으로 릴리스 하는 것

5. CI/CD Tool

  • Jenkins : 무료
  • Atlassian Bomboo : 유료

6. 정리

  • CI : 빌드 및 테스트의 자동화
  • CD : 서비스 배포의 자동화

참고 자료 1 : https://en.wikipedia.org/wiki/CI/CD

 

CI/CD - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Software development methodology In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) co

en.wikipedia.org

참고 자료 2 : https://hoi5088.medium.com/ci-cd-%EA%B0%9C%EB%85%90-4e6a45dbcfe2

 

CI/CD 개념

1. CI/CD 배경

hoi5088.medium.com

참고 자료 3 : https://itholic.github.io/qa-cicd/

 

[QA] CI/CD 란?

CI/CD

itholic.github.io

 

'Research' 카테고리의 다른 글

Docker 명령어 정리  (0) 2022.09.09
Docker  (0) 2022.09.08
마크업 언어(markup language)  (0) 2020.08.28