[Section4] 지속적 배포
2023. 7. 28. 10:59
🧑🏻💻 TIL(Today I Learned)
✔️ 지속적 배포
💡 지속적 배포(CD, Continous Deployment)
➡️ 애플리케이션 개발 및 배포 과정에서 사용되는 방식 중 하나, 코드 변경사항이 발생하면 자동으로 애플리케이션을 빌드하고 테스트한 후 운영환경에 배포하는 것을 의미
- 개발 및 운영팀 간 소통 및 협업을 더욱 향상할 수 있음
→ 개발팀은 더 빠르고 안정적인 애플리케이션 배포 가능 - 애플리케이션의 배포 주기를 단축하고 버그를 빠르게 발견하고 수정할 수 있도록 도와줌
→ 시스템 관리자와 개발자에게도 편리할 뿐 아니라 사용자에게도 향상된 서비스 제공
➡️ 일부 조직에서는 보안과 안정성에 대한 우려가 있을 수 있으므로 조직의 상황에 맞게 적절한 방법으로 구성하고 운영해야 함
💡 배포 자동화(Automated Deployment)
➡️ 애플리케이션 배포할 때 일어나는 반복적의고 수동적인 작업을 자동화하는 방식
- 배포 과정에서 발생하는 실수를 줄이고 배포 시간을 단축해 개발자들이 더 빠르게 애플리케이션을 배포할 수 있게 도와줌
- 안정성과 일관성을 높이는 데 도움이 됨
→ 즉 배포 자동화는 애플리케이션 개발 및 배포 프로세스의 생산성과 효율성을 높일 수 있는 있는 중요한 요소 중 하나
✍🏻 배포 파이프라인?
➡️ 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조
➡️ 전체 배포 과정을 여러 단계로 분리함, 단계는 파이프라인 안에서 순차적으로 실행되며 각 단계마다 주어진 작업을 수행함
- Source 단계
: 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우 이를 감지하고 다음 단계로 전달하는 작업 수행 - Build 단계
: Build 단계에서는 Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공함
: Build 단계를 거쳐 생성된 결과물을 다음 단계로 전달하는 작업 수행 - Deploy 단계
: Build 단계로부터 전달받은 결과물을 실제 서비스에 반영하는 작업 수행
💡 지속적 배포와 배포 자동화의 차이
- 지속적 배포
→ 코드 변경사항이 발생하면 자동으로 애플리케이션 빌드, 테스트, 배포를 실행함
→ 개발팀이 애플리케이션 개발과 배포를 더 효율적이고 빠르게 수행할 수 있게 해줌 - 배포 자동화
→ 일반적으로 애플리케이션 배포 과정에서 수동으로 수행되는 작업을 자동으로 수행함
→ 애플리케이션 빌드, 패키징, 배포를 자동으로 수행하는 스크립트를 작성하여 배포 과정에서 반족적으로 수행되는 작업을 자동화할 수 있음
즉 지속적 배포는 애플리케이션 개발 및 운영의 전반적인 프로세스를 자동화하는 것이며 배포 자동화는 특정한 적업에 대해 자동화를 수행하는 것
'SEB_BE_45 > 공부 정리' 카테고리의 다른 글
[Section4] 지속적 통합 (0) | 2023.07.27 |
---|---|
[Section4] 운영 환경 구성 - 고가용성(HA: High Availability) (0) | 2023.07.26 |
[Section4] 운영환경(cloud) - AWS (0) | 2023.07.24 |
[Section4] 쿠버네티스(kubernetes) - 워크로드 (0) | 2023.07.21 |
[Section4] 쿠버네티스(Kubernetes) (0) | 2023.07.21 |