솔루션 아키텍처: Visual Studio Team Services를 사용한 컨테이너에 대한 연속 통합 및 배포(CI/CD)

컨테이너 배포를 사용하면 간편하게 지속적으로 응용 프로그램을 업데이트 및 개선할 수 있습니다. Azure Container Service에서 Kubernetes 또는 DC/OS를 사용하여 연속 통합 및 배포를 오케스트레이션하는 방식으로 컨테이너의 복제 가능하고 관리 가능한 클러스터를 만듭니다. Visual Studio Team Services를 통해 컨테이너 이미지를 생성 및 오케스트레이션하도록 연속 빌드를 설정하여 더 빠르고 더 안정적으로 배포합니다.

이 솔루션은 Azure 관리 서비스를 기반으로 합니다. ACS(Azure Container Service). 이러한 서비스는 고가용성 환경에서 실행되고 패치되며 지원되므로, 솔루션이 실행되는 환경 대신 솔루션에 집중할 수 있습니다.

Continuous integration trigger Azure Container Service (Registry) Push container image Pull container image Continuous deployment trigger Deployment Visual Studio Team Services Git Visual Studio Team Services CI Application code, Docker files, Compose files, Deployment files Container images Compose files, Deployment files Environment specific Compose files, Deployment files Running containers Azure Container Service (Kubernetes, Swarm, or DC/OS) Visual Studio Team Services CD Commit

구현 지침

제품/설명 설명서

Visual Studio Team Services Git 리포지토리에서 팀 구성원과 공동으로 작업하고 컨테이너 지원 응용 프로그램에 대한 코드를 공유합니다.

Visual Studio Team Services 빌드를 사용하여 모든 커밋에 대한 컨테이너 이미지를 만들고 테스트하도록 연속 통합 빌드를 설정합니다. 빌드의 일부로 컨테이너 이미지를 Azure Container Registry로 푸시합니다.

Visual Studio Team Services의 Release Management를 사용하여 여러 환경(QA에서 스테이징, 프로덕션까지)을 통해 연속 배포 파이프라인을 설정합니다. ACS에서 다양한 형식의 오케스트레이터와 통합합니다.

ACS(Azure Container Service)

Azure Container Service와 이 서비스가 지원하는 다양한 오케스트레이터를 사용하여 컨테이너 기반 응용 프로그램을 배포 및 관리합니다. 컨테이너 이미지는 Azure Container Registry에 저장되고 Azure Container Service에서 실행되는 Kubernetes, DC/OS, Swarm 등의 오케스트레이터에 의해 풀됩니다.

관련 솔루션 아키텍처

Commit Azure VMs Azure VMs Dev / Test lab Continuous integration trigger Continuous deployment trigger Deployment to QAenvironment Deployment toproductionenvironment Deployment tostagingenvironment Visual Studio TeamServices Git Application code,ARM template Visual Studio TeamServices CI Build, ARM template Visual Studio TeamServices CD Environmental specificARM parameters

Visual Studio Team Services를 사용한 Virtual Machines에 대한 연속 배포

Azure는 VM(가상 컴퓨터) 배포 및 관리를 위한 세계 최고의 클라우드입니다. 응용 프로그램을 개발하는 데 ASP.NET, Java, Node 또는 PHP를 사용하는지에 관계없이 변경 내용을 이러한 VM으로 자동으로 푸시하려면 CI/CD(연속 통합 및 연속 배포) 파이프라인이 필요합니다.

자세한 정보
Commit Build Bake Release Deploy git Jenkins Azure ContainerRegistry NetflixSpinnaker Azure ContainerServices - Kubernetes

OSS(오픈 소스 소프트웨어)를 사용한 컨테이너에 대한 CI/CD(지속적인 통합 및 배포)

Kubernetes는 컨테이너화된 응용 프로그램에 대해 분산 플랫폼을 제공합니다. Azure와 Kubernetes를 사용하면 지속적인 배포가 더 간단하고 빨라집니다.

자세한 정보
Commit Deployment Continuous integration trigger Make changes to application Review data Continuous Deployment Trigger Visual Studio Team Services Application code,Web.config file Visual Studio Team Services Web package,Web.config file Visual Studio Team Services App Service Monitoring Application Insights Health, Performance, Usage Developer Visual Studio Environment specific Web.config files

Visual Studio Team Services를 사용한 Azure Web Apps에 대한 연속 통합 및 배포(CI/CD)

Azure를 통해 연속 웹앱 배포를 더 쉽게 수행합니다. Azure App Service는 ASP.NET, Java, Node 또는 PHP를 사용하여 웹앱을 만드는 빠르고 간단한 방법입니다. 해당 웹앱을 오래 지속되도록 만들려면 각 변경 내용을 자동으로 푸시하기 위한 CI/CD(연속 통합 및 연속 배포) 파이프라인이 필요합니다.

자세한 정보