BackEnd King KY

TIL11 - CI/CD(2/2) 본문

CI&CD

TIL11 - CI/CD(2/2)

Django King, Lee 2022. 2. 28. 21:29
728x90

 

✔️ Continuous Delivery : 지속적 제공

 

CI의 빌드 자동화, Integration & Unit Test 수행 후 이어지는 CD 프로세스에서는 유효한 코드를 Repository에 자동으로 배포합니다.

그러므로 CD를 위해선 당연히 CI가 먼저 실현되어 있어야 하며, 지속적 제공의 목표는 프로덕션 환경으로 배포할 준비가 되어 있는 코드를 확보하는 것입니다. 

지속적 제공의 경우, 코드 변경 사항 병합부터 프로덕션에 적합한 빌드 제공에 이르는 모든 단계에는 테스트 자동화와 코드 배포 자동화가 포함됩니다. 이 프로세스를 완료하면 보다 빠르고 손쉽게 애플리케이션을 배포할 수 있게 됩니다.

 

즉, 지속적 제공이란 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 Repository에 자동으로 업로드 되는 것을 뜻하며, 애플리케이션을 실시간으로 배포할 수 있는 걸 말합니다.

 

 

✔️ Continuous Deployment : 지속적 배포

CI/CD 파이프라인의 마지막 단계는 지속적 배포입니다. 프로덕션 준비가 완료된 빌드를 Repository에 자동으로 배포하는 지속적 제공의 확장된 형태인 지속적 배포는 애플리케이션을 프로덕션으로 배포하는 작업을 자동화합니다. 그러므로 지속적 배포가 제대로 이루어지려면 테스트 자동화 역시 제대로 설계되어 있어야 합니다. 

 

현업에서 지속적 배포란, 개발자가 애플리케이션 변경 사항을 작성한 후 몇 분 이내에 애플리케이션을 자동으로 실행할 수 있는 것을 의미합니다. 이러한 모든 CI/CD 파이프라인의 적용 사례들은 애플리케이션 배포의 위험성을 줄여줍니다. 다만, 자동화된 테스트는 CI/CD 파이프라인의 여러 테스트 및 배포 단계를 수행할 수 있어야 하므로 많은 선행 단계를 밟아야 합니다.

 

즉, 지속적 배포란 개발자의 변경 사항을 Repository에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 배포하는 것을 의미합니다. 지속적 배포는 파이프라인의 다음 단계를 자동화함으로써 지속적 제공이 가진 장점을 활용합니다.

 

✔️ 마치며..

CI/CD는 파이프라인으로 표현되는 실제 프로세스를 의미하고, 애플리케이션 개발에 지속적인 자동화 및 지속적인 모니터링을 추가하는 것을 의미합니다. 다만, CD가 지속적 제공의 구축 사례만 지칭하는 경우도 있고 위에서 나눈 것처럼 두 가지 모두 의미하는 경우도 있습니다. 상황에 따라 유동적인 의미를 가질 수 있다는 뜻이니, 다 알아두는 게 좋지 않을까 싶습니다.

 

'CI&CD' 카테고리의 다른 글

TIL11 - CI/CD(1/2)  (0) 2022.02.27