지속적 제공을 통해개발 팀은 소프트웨어 개발 라이프사이클을 따라 소프트웨어를 진전시키는 프로세스를 자동화할 수 있습니다. 또한 지속적 제공은 통합된 툴박스를 프로비저닝할 때 다음과 같은 여러 가지 장점을 제공합니다.
아래 비디오에서 Eric Minick이 지속적 제공에 대해 더 자세히 설명합니다.
지속적 제공을 활용할 경우 고려해야 할 모범사례는 다음과 같습니다.
지속적 제공의 장점을 활용하려면, 지속적 탐색, 지속적 통합, 지속적 배포, 온디맨드 릴리스와 같은 지속적 프레임워크의 다른 요소도 필요합니다.
지속적 제공 파이프라인 단계를 사용하는 경우, 이들을 별개의 작업으로 나누어야 합니다. 이러한 작업은 단계 내의 실행 단위입니다.
지속적 제공 파이프라인은 개발 팀이 다음을 수행하는 데 도움을 줄 수 있습니다.
지속적 배포는 지속적 제공 파이프라인의 일부일 수 있습니다. 구체적으로 말하면, 지속적 제공은 개발 라이프사이클(때때로 제공 라이프사이클이라고도 부름)을 통해 코드가 자동으로 이동하는 것이며, 지속적 배포는 코드가 자동화된 필수 테스트를 통과한 후 이러한 코드가 프로덕션 단계로 자동으로 이동하는 것입니다.
지속적 배포를 제공 파이프라인에 포함할지 여부는 비즈니스 요구 사항에 따라 달라집니다. 기업에서 제공 팀이 새로운 소프트웨어나 업데이트된 소프트웨어를 반복적으로, 안정적으로 또는 최대한 빨리 프로덕션 단계로 릴리스해야 하거나, 솔루션에 여러 종속성 항목이 있는 경우, 지속적 배포가 유용할 가능성이 큽니다.
지속적 배포와 지속적 제공의 차이점에 대한 자세한 내용은 다음 비디오를 참조하세요.
지속적 제공 툴을 사용하면 애플리케이션을 빌드, 배포, 관리하기 위해 오픈소스 툴을 사용할 수 있습니다. 툴을 통합하면 개발 팀뿐만 아니라 운영 팀을 위해 반복 가능하고 관리 가능한 작업을 만들 수 있습니다.
툴박스에는 현재 사용 중인 클라우드 서비스, 오픈소스 툴, 타사 툴이 포함될 수 있지만, 다음 사항이 포함된 지속적 제공 툴도 고려하는 것이 좋습니다.
강력한 지속적 제공 파이프라인을 만들기 위해 사용할 수 있는 오픈소스 지속적 제공 툴로는 Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD 및 GitLab CI가 있습니다.
애자일 지속적 제공
이전에는 소프트웨어를 한 번 릴리스하고 그 다음에는 업데이트를 수행했습니다. 소프트웨어가 고객의 요구 사항을 충족하는지 확인하기 위해 처음과 마지막에만 고객과 상담을 했습니다.
애자일(Agile)은 지속적 제공 일정에 따라 짧은 반복을 통해 소프트웨어를 만드는 방법입니다. 현재의 애자일 지속적 제공 프로세스는 정의된 기능이 제공될 때마다 고객에게 코드를 릴리스할 수 있음을 의미합니다. 애자일 개발과 지속적 제공은 기능이 프로덕션 단계로 진행할 수 있게 되자마자 고객에게 해당 기능을 제공하기 위한 열쇠입니다. 목표는 각 기능이 파이프라인을 떠나면 즉시 릴리스할 수 있도록 하는 것입니다.
애자일 원칙의 장점에 대해 자세히 알아보세요.
DevOps와 지속적 제공
지난 20년 동안 소프트웨어 개발은 표준 폭포수 개념에서 더 효율적인 애자일 방법론으로 이동하며 상당한 변화를 겪었습니다. 변화에 대응하려면 애자일, DevOps, 지속적 제공에 중점을 두는 접근법으로 이동해야 합니다. 지속적 제공 파이프라인의 구성 요소인 이러한 집중된 프로세스는 더 안정적으로 고품질 소프트웨어를 릴리스하고 업데이트하도록 지원합니다.
애자일 개발을 통해 빠른 속도로 소규모 소프트웨어 릴리스를 만들면서 여러분의 관심은 소프트웨어 개발의 개별 단계에 집중될 것입니다. 이와 동시에, DevOps를 통해 개발과 운영이 긴밀하게 하나의 팀으로 합쳐지면서 여러분은 "큰 그림"과 문화적 변화에 관심을 집중할 것입니다. 이러한 하나의 팀은 코딩부터 테스트 그리고 개발과 지원까지 소프트웨어 개발 라이프사이클 전체를 담당합니다.
DevOps 프로세스를 자세히 살펴보려면 아래 비디오를 확인하세요.
IBM Continuous Delivery는 툴 체인을 제공하고, 빌드와 테스트를 자동화하며, 분석을 통해 품질을 관리할 수 있는 클라우드 서비스입니다.
IBM UrbanCode 소프트웨어 제품군은 애플리케이션 제공을 가속화하고 수작업 프로세스를 감소시켜 소프트웨어를 더 빨리 시장에 제공하도록 지원합니다.
최고의 속도와 유연성을 지닌 Kubernetes 네이티브 CI/CD 파이프라인을 작성합니다.