실무환경에서 애플리케이션 개발은 동료 개발자, QA, 관리자, 운영자 등 여러 조직과 팀이 협업하여 이루어집니다. 이들 다양한 팀은 CI/CD 파이프라인을 통해서 협업합니다. 왜 CI/CD를 이용해서 협업하는지 이유를 살펴봅니다.
여러명이 함께 코드를 개발하면 이 코드를 통합하고 실행 가능한 상태로 빌드하고 패키징을 해야 합니다. CI는 코드 통합, 빌드, 테스트, 패키징 과정을 자동화 하여서 빠르고 효과적으로 그리고 안전하게 애플리케이션을 만듭니다.
공동 개발한 코드가 merge 되면 CI는 자동으로 최신 코드를 읽어서 빌드 →테스트→패키징 합니다. 이렇게 패키징된 애플리케이션은 사용자를 위해서 “배포”해야 합니다. 클라우드, 가상서버, Kubernetes 등 다양한 환경으로 배포 할 수 있는데, CD를 이용해서 이러한 배포가 자동으로 이루어지게 할 수 있습니다.
CI/CD는 개발에서 배포의 과정을 자동화 하는 모델입니다. 이 모델을 실제 환경에 구축하기 위해서는 CI/CD를 실행해 줄 “툴”이 필요합니다. GitLab 을 이용해서 CI/CD 파이프라인을 설계하고 구축하고 실행 할 수 있습니다.
GitLab 은 CI/CD 파이프라인을 자동화 하기 위한 스크립트를 실행 할 수 있으며, 이 스크립트를 이용해서 코드 기반으로 파이프라인을 실행합니다.
- 오픈소스
- 자체 Git 저장소
- 통합된 환경
- 다양한 플러그인을 제공
- 활성화된 커뮤니티
- 안전성과 안정성
- 자체 호스팅
- Issue 관리 툴