#jenkins #docker #gitlab

CI/CD

Sep 28, 2022


01. CI/CD 란?

문자 그대로 설명하면
CI는 Continuous Integration, 지속적 통합 을 CD는 Continuous Deployment, 지속적 배포 를 의미한다.

개발자가 소스를 수정할 때마다 매 번 빌드/테스트/배포 작업을 직접 진행한다고 하면 상당히 많은 시간이 소요된다.
이런 일련의 과정을 자동화 한다면 남는 시간을 다른 데 투자할 수 있다.

빌드를 진행하는 OS 환경, 빌드를 위한 도구의 버전 등에 따라 빌드 결과가 달라질 가능성을 완전하게 배제할 수 없다.
그러므로 동일한 환경과 도구를 기반으로 빌드/테스트/배포 작업을 수행하는 것이 중요하다.

이러한 생각에서 비롯된 개념이 CI/CD이다.

CI, 지속적 통합 (Continuous Integration)

CD 지속적 배포 (Continuous Deployment)

CI/CD 자동화 환경 구성

앞서 CI/CD 가 무엇인지에 대해 알아봤다.
현재 내가 맡고 있는 소프트웨어의 경우, 통상 솔루션이라고 부르는 하나의 구축형 소프트웨어다.

고객 별 다양한 요구사항 존재, 인적 리소스의 한계, 안정화 과정이라는 여러 상황과 맞물려
내부의 테스트 환경을 굉장히 중요시하고 있다.

해당 소프트웨어는 실제 운영 환경에서 사용하는 DBMS만 Oracle, Postgresql, Tibero 세 종류이고
신규 릴리즈 설치 테스트, 패치 테스트, 하위 버전 테스트를 위해 App 서버, DB 서버 만 각각 네 대를 사용하고 있다.

다음 내용으로 아래 도구들을 활용해
테스트용 서버 배포를 위한 CI/CD 환경을 어떻게 구성했는지 알아보자




*****

© 2021, Ritij Jain | Pudhina Fresh theme for Jekyll.