DevTest Labs를 사용하는 Azure Pipelines 아키텍처
중요
DevTest Labs를 사용하는 CI/ CD는 Azure DevOps를 사용하여 CI/CD 파이프라인 디자인의 변형입니다. 이 문서에서는 DevTest Labs 스테이징 환경에 배포하는 세부 사항에 중점을 둡니다.
DevTest Labs를 사용하면 재사용 가능한 템플릿 및 아티팩트를 사용하여 Windows 및 Linux 환경을 프로비전할 수 있습니다. 이러한 환경은 개발자에게 유용할 수 있지만 스테이징 환경을 프로비전하기 위해 CI/CD 파이프라인에서도 사용할 수 있습니다. Azure DevTest Labs 시나리오를 참조하여 DevTest 랩이 시나리오에 적합한지 확인합니다.
이 문서에서는 Azure Pipelines를 사용하여 CI(연속 통합) 및 CD(지속적인 배포) 사례를 사용하여 애플리케이션 변경 내용을 배포하기 위한 고급 DevOps 워크플로에 대해 설명합니다. DevTest Labs 환경은 스테이징 환경에 사용됩니다.
아키텍처
이 아키텍처의 Visio 파일을 다운로드합니다.
데이터 흐름
이 섹션에서는 Azure Pipelines 기준 아키텍처를 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드 배포의 세부 사항에만 중점을 두고 있다고 가정합니다.
PR 파이프라인 - 기준선과 동일
CI 파이프라인 - 기준선과 동일
CD 파이프라인 트리거 - 기준선과 동일
CD에서 DevTest Labs 스테이징 환경 만들기 - 이 단계에서는 스테이징 환경 역할을 하는 DevTest Labs 환경을 만듭니다. 이 단계에는 다음이 포함됩니다.
- 스테이징 구독에서 Azure DevTest Labs 환경을 만듭니다.
- DEVTest Labs 환경에 ARM 템플릿을 배포합니다. Virtual Machine 이미지는 공유 이미지 갤러리에 저장할 수 있습니다.
- 배포 후 단계를 수행하여 스테이징 환경을 올바르게 구성합니다.
스테이징에 CD 릴리스 - 한 가지 예외가 있는 기준과 동일합니다. 스테이징 환경은 DevTest Labs 환경입니다.
프로덕션 - 으로 CD 릴리스기준선과 동일
모니터링 - 기준선과 동일
구성 요소
이 섹션에서는 Azure Pipelines 기준 아키텍처 구성 요소 섹션을 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드를 배포하는 세부 사항에만 중점을 두고 있다고 가정합니다.
- Azure DevTest Labs 개발, 테스트 및 배포 목적으로 사용되는 환경을 만들고, 사용하고, 관리하기 위한 서비스입니다. 이 서비스를 사용하면 비용 효율적인 방식으로 미리 구성된 환경을 쉽게 배포할 수 있습니다.
대안
CD 프로세스의 일부로 DevTest Labs 스테이징 환경을 만드는 대신 파이프라인 외부에서 환경을 미리 만들 수 있습니다. 이렇게 하면 파이프라인 속도를 높일 수 있는 긍정적인 이점이 있습니다. 이 대안은 파이프라인이 완료된 후 환경을 해체하는 기능을 중지하여 비용을 증가합니다.
VM Image Builder 및 Shared Image Gallery가 작동하지 않는 경우, 이미지 팩터리를 설정하여 CI/CD 파이프라인에서 VM 이미지를 빌드하고 해당 이미지에 등록된 모든 Azure DevTest Labs에 자동으로 배포할 수 있습니다. 자세한 내용은 Azure DevOps에서 이미지 팩터리 실행을 참조하세요.
스테이징 이외의 추가 환경을 만들고 CD 파이프라인의 일부로 에 배포할 수 있습니다. 이러한 환경은 성능 테스트 및 사용자 승인 테스트와 같은 활동을 지원할 수 있습니다.
고려 사항
이 섹션에서는 Azure Pipelines 기준 아키텍처의 고려 사항 섹션을 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드를 배포하는 세부 사항에만 중점을 두고 있다고 가정합니다.
비용 최적화
운영 효율성
- 롤백, 수동 수용 테스트 및 성능 테스트와 같은 기능을 사용하도록 스테이징 및 프로덕션 이외의 환경을 구현하는 것이 좋습니다. 스테이징을 롤백 환경으로 사용하면 다른 용도로 해당 환경을 사용할 수 없게 됩니다.