2023.07.28 코드스테이츠 77회차. ( 자동베포화 )

2023. 7. 28. 18:01Code

반응형

지속적 배포 (CD : Continuous Deployment)

지속적 배포는 애플리케이션 개발 및 배포 과정에서 사용되는 방식 중 하나이다

이 방식은 코드 변경사항이 발생하면 자동으로 애플리케이션을 빌드하고 테스트한 후, 운영 환경에 배포하는 것을 의미한다

 

지속적 배포는 개발 및 운영팀 간 소통 및 협업을 더욱 향상할 수 있다

이를 통해 개발팀은 더 빠르고 안정적인 애플리케이션 배포를 할 수 있게 됩니다. 또한, 사용자 및 고객의 요구사항에 더욱 빠르게 대응할 수 있다

 

지속적 배포를 구현하기 위해서는 여러 가지 도구와 프로세스가 필요한데

예를 들어, 코드 변경 사항을 버전 관리 시스템에 커밋하면 해당 코드를 자동으로 빌드하고, 테스트를 실행하고, 빌드 결과물을 운영 환경에 배포하는 CI/CD 파이프라인이 구성될 수 있다

 

지속적 배포 방식은 애플리케이션의 배포 주기를 단축하고, 버그를 빠르게 발견하고 수정할 수 있도록 도와준다

이는 시스템 관리자와 개발자 모두에게 편리할 뿐 아니라, 사용자에게도 더욱 향상된 서비스 제공을 가능하게 한다

 

 

배포 자동화 (Automated Deployment)

배포 자동화는 애플리케이션 배포할 때 일어나는 반복적이고 수동적인 작업을 자동화하는 방식이다

이는 배포 과정에서 발생하는 실수를 줄이고, 배포 시간을 단축해 개발자들이 더 빠르게 애플리케이션을 배포할 수 있게 도와준다

 

배포 자동화는 안정성과 일관성을 높이는 데 도움이 된다

일일이 작업을 수행하는 것보다 자동화된 작업을 통해 일관된 결과를 얻을 수 있기 때문이다

배포 자동화는 애플리케이션 개발 및 배포 프로세스의 생산성과 효율성을 높일 수 있는 중요한 요소 중 하나이다

 

배포 파이프 라인

 

배포에서 파이프라인(Pipeline)이란 용어는 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 뜻한다

파이프라인은 전체 배포 과정을 여러 단계(Stages)로 분리한다

단계는 파이프라인 안에서 순차적으로 실행되며, 각 단계마다 주어진 작업(Actions)을 수행한다

 

  1. Source 단계: Source 단계에서는 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우, 이를 감지하고 다음 단계로 전달하는 작업을 수행합니다.
  2. Build 단계: Build 단계에서는 Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공합니다. 또한 Build 단계를 거쳐 생성된 결과물을 다음 단계로 전달하는 작업을 수행합니다.
  3. Deploy 단계: Deploy 단계에서는 Build 단계로부터 전달받은 결과물을 실제 서비스에 반영하는 작업을 수행합니다.

 

 

지속적 배포와 배포 자동화의 차이

 

지속적 배포(Continuous Deployment)와 배포 자동화(Automated Deployment)는 모두 애플리케이션 개발 및 배포를 자동화하는 방식입니다. 그러나 두 방식은 목적과 범위에서 차이가 있습니다.

 

지속적 배포는 코드 변경사항이 발생하면 자동으로 애플리케이션 빌드, 테스트, 배포를 실행합니다. 이는 개발팀이 애플리케이션 개발과 배포를 더 효율적이고 빠르게 수행할 수 있게 해줍니다.

 

한편, 배포 자동화는 일반적으로 애플리케이션 배포 과정에서 수동으로 수행되는 작업을 자동으로 수행합니다. 예를 들어, 애플리케이션 빌드, 패키징, 배포를 자동으로 수행하는 스크립트를 작성하여, 배포 과정에서 반복적으로 수행되는 작업을 자동화할 수 있습니다.

 

따라서, 지속적 배포는 애플리케이션 개발 및 운영의 전반적인 프로세스를 자동화하는 것이며, 배포 자동화는 특정한 작업에 대해 자동화를 수행하는 것입니다.

 

 

728x90