GitLab을 사용하여 지속적 통합 (CI)
지속적인 통합이 기본 제공됩니다
**지속적 통합(Continuous Integration, CI)**은 팀이 제공하는 코드를 공유 리포지터리에 통합하는 작업을 합니다. 개발자는 병합 요청(MR)에서 새 코드를 공유합니다. 요청은 리포지터리 내에서 변경사항을 병합하기 전에 새 코드를 빌드, 테스트 및 검증하는 파이프라인을 트리거합니다.
**지속적 전달(Continuous Delivery, CD)**의 관행은 구조화된 배포 파이프라인을 통해 CI 검증 코드를 애플리케이션에 전달하도록 보장합니다.
CI와 CD가 함께 사용하면 팀이 고객과 이해 관계자를 위해 더 빠른 결과를 제공할 수 있습니다. CI는 개발 주기 초기에 버그를 포착하고 제거하는 데 도움이 되며 CD는 검증된 코드만 애플리케이션에 전송되도록 합니다.
CI와 CD는 팀이 신속하고 효과적으로 구축할 수 있도록 함께 작동해야 하며, 완전히 최적화된 소프트웨어 개발에 중요합니다.
팀에 CI가 필요한 이유
더 적은 수작업, 더 많은 자동화
- 가능한 한 빨리 오류 감지 : 개발자 마음에 새롭다고 생각하는 동안 문제 해결
- 통합 문제 감소 : 작은 문제가 이해하고 해결하기 더 쉬움
- 복합적인 문제 방지 : 팀이 더 확신을 가지고 더 빠르게 개발할 수 있음
CD에 대한 원활한 경로
- 모든 변경사항이 릴리즈할 수 있도록 보장 : 완료라고 부르기 전에, 배포를 포함한 모든 것을 테스트
- 각 릴리즈의 리스크 감소 : 릴리즈를 "지루하게" 만듦
- 보다 빈번한 가치 제공 : 안정적인 배포는 더 많은 릴리즈를 의미
- 긴밀한 고객 피드백 루프 : 변경과 관련한 빠르고 빈번한 고객 피드백

CI를 위한 GitLab 사용의 장점
- 통합 : CI가 GitLab에 내장되어 아이디어에서 계획, 배포(및 그 이후)에 이르기까지 단일 대화가 가능합니다.
- 오픈 소스 : CI는 CD와 함께 오픈 소스 GitLab Community Edition과 저작권이 있는 GitLab Enterprise Edition의 일부입니다.
- 배우기 쉬움 : 빠른 시작 가이드를 참조하세요.
- 끊김 없는 : 단일 GitLab 애플리케이션의 일부이며 뛰어난 단일 사용자 경험을 제공합니다.
- 확장성 : 테스트는 별도의 시스템에 분산되어 실행됩니다. 원하는 만큼 추가할 수 있습니다.
- 더 빠른 결과 : 각 빌드를 여러 시스템에서 병렬로 실행되는 여러 작업으로 분할할 수 있습니다.
- 전달(delivery)에 최적화됨 : 여러 단계, 수동 배포 게이트, 환경 및 변수
