흔히들 CI/CD를 통해 파이프라인을 구축하여 지속적으로 배포를 해야한다. 라는 말을 많이 들어보셨을 겁니다.
도대체 CI/CD란 무엇인가에 대해서 알아봅시다.
가장 먼저 CI/CD를 사용하는 이유에 대해서 알아봅시다.
만약 실제 서비스중인 어플리케이션이 있다고 해봅시다. 개발자1이라는 사람이 코드를 수정 후 충분한 테스트를 하지 않고
현재 운영하는 서버에 다이렉트로 커밋을 했는데 오류가 발생해 서버가 내려가는 사태가 발생할 수 있습니다.
이러한 상황을 방지하기 위해 CI/CD 파이프라인 구축을 통한 운영서버에 지속적 통합 및 배포가 이루어져야합니다.
CI(Continuous Integration)란?
지속적으로 애플리케이션의 새로운 코드들이 테스트 및 빌드가 되어 통합 레퍼지토리에 저장되는 것을 의미합니다.
개발자1이 수정한 코드를 개발서버에 커밋 후 개발자2가 땡겨받아 수정을 이어나가거나 또는
개발자1과 개발자2가 같은 부분을 수정하여 충돌이 나는 경우 MERGE를 통해 협의 후 코드를 배포할 수 있습니다.
CD(Continuous Delivery/Deployment)란?
CI를 통해 빌드 및 테스트가 완료되어 배포될 준비를 끝마친 애플리케이션을 개발자가 수동(Delivery) 또는
자동(Deployment)으로 운영서버에 배포를 진행하는 것을 뜻합니다.
CI/CD의 대표적 툴
- jenkins
무료(단, 별도의 서버가 필요함)
다양한 플러그인, IDE 지원
규모가 작은 프로젝트의 경우 리소스 낭비가 발생할 수 있음
- githubActions
복잡한 과정없이 바로 깃허브에서 사용할 수 있음
깃허브의 모든 이벤트에 대한 작업을 제공하고 다양한 언어와 프레임워크를 지원함
public은 무료 private 저장소의 경우 매월 3000분 무료(이후 유료 전환)
CI/CD 파이프라인을 통한 지속적 빌드 및 배포를 통해 얻을 수 있는 이점
- 개발자들 사이에 코드가 충돌나는 것을 막을 수 있음
- MERGE를 통해 코드검토가 수월해짐
- 중간에 개발서버를 두어 운영서버에 다이렉트로 문제발생이 되는 것을 방지할 수 있음
'IT지식 > Computer Science' 카테고리의 다른 글
네트워크와 트래픽에 관해서 알아보자 (0) | 2024.12.30 |
---|---|
컨테이너와 도커에 대해서 알아보고 최신 개발 트렌드 따라잡자 (0) | 2024.12.28 |
클라우드 컴퓨팅에 대해 알아보자. (0) | 2024.12.27 |
클라우드란 무엇인가? (0) | 2024.12.27 |
API란? (1) | 2024.12.26 |