본문 바로가기
CSP (Cloud Service Provider)/Azure

[Azure] Azure Build Pipelines

by BTC_석준 2023. 7. 6.

안녕하세요 BTC95입니다.

오늘은 Azure Build Pipelines에 대하여 알아보겠습니다.


Azure Build Pipelines

Azure Build Pipelines

Azure Build Pipelines은 Microsoft Azure DevOps의 기능 중 하나로, 소프트웨어 개발 프로젝트에서 지속적인 통합 및 배포를 지원하는 서비스입니다. Build Pipelines을 사용하면 코드 변경 사항을 자동으로 컴파일하고 테스트하며, 빌드 및 배포 프로세스를 자동화할 수 있습니다.

Azure Build Pipelines은 다양한 언어와 플랫폼에 대한 지원을 제공하며, 주로 웹 응용 프로그램, 모바일 앱, 마이크로서비스 등을 개발하는 데 사용됩니다. 다양한 소스 제어 시스템과 통합되어 소스 코드를 가져올 수 있으며, 자체 호스트된 빌드 에이전트 또는 클라우드 기반 에이전트를 사용하여 빌드 및 배포 작업을 실행할 수 있습니다.

 

주요 기능

1) 지속적인 통합 (Continuous Integration, CI): Azure Build Pipelines은 코드 변경 사항을 자동으로 감지하고, 빌드 및 테스트 작업을 실행하여 코드의 통합을 지속적으로 검증합니다. 이를 통해 여러 개발자가 동시에 작업하는 경우 코드 충돌이나 호환성 문제를 사전에 감지할 수 있습니다.

2) 자동화된 빌드: Build Pipelines은 소스 코드를 가져와 자동으로 빌드 작업을 수행합니다. 다양한 빌드 도구와 환경을 지원하며, 컴파일, 패키징, 리소스 빌드 등의 작업을 자동으로 실행할 수 있습니다.

3) 다양한 플랫폼과 언어 지원: Azure Build Pipelines은 다양한 플랫폼과 언어에 대한 지원을 제공합니다. .NET, Java, Python, Node.js 등 다양한 언어를 사용하는 프로젝트에 적용할 수 있으며, Windows, Linux, macOS 등 다양한 운영 체제를 대상으로 작업을 실행할 수 있습니다.

4) 테스트 자동화: Build Pipelines은 자동화된 테스트 실행을 지원합니다. 단위 테스트, 통합 테스트, UI 테스트 등 다양한 종류의 테스트를 자동으로 실행하고 테스트 결과를 확인할 수 있습니다.

5) 배포 자동화: Build Pipelines은 빌드 작업 완료 후, 애플리케이션을 배포하는 자동화된 작업을 지원합니다. Azure의 다양한 서비스와 통합하여 클라우드 환경에 애플리케이션을 배포하고 관리할 수 있습니다.

6) 유연한 구성: YAML 기반의 파이프라인 코드를 사용하여 빌드 및 배포 프로세스를 유연하게 구성할 수 있습니다. 다양한 환경에 맞게 작업을 실행하고, 템플릿과 변수를 활용하여 반복적인 작업을 단순화할 수 있습니다.

7) 통합된 DevOps 환경: Azure DevOps의 다른 기능들과 통합되어 사용할 수 있습니다. 소스 제어, 이슈 관리, 작업 추적 등의 기능을 함께 사용하여 통합된 개발 및 배포 환경을 구축할 수 있습니다.

 

사용 사례

1) 웹 애플리케이션의 지속적인 통합 및 배포: Azure Build Pipelines을 사용하여 웹 애플리케이션의 소스 코드를 자동으로 가져와 빌드하고 테스트한 후, Azure App Service 또는 Azure Kubernetes Service (AKS)와 같은 서비스를 통해 애플리케이션을 배포할 수 있습니다. 이를 통해 개발자는 코드 변경 사항을 자동으로 통합하고, 품질을 확인한 후 신속하게 배포할 수 있습니다.

2) 모바일 앱의 빌드 및 배포: Azure Build Pipelines은 Xamarin 또는 React Native와 같은 플랫폼을 사용하는 모바일 앱의 빌드 및 배포를 자동화할 수 있습니다. 앱의 소스 코드를 가져와 앱 번들을 생성하고, App Store 또는 Google Play Store와 같은 앱 스토어에 배포할 수 있습니다.

3) 마이크로서비스 아키텍처의 빌드 및 배포: Azure Build Pipelines을 사용하여 마이크로서비스 아키텍처를 구축하는 프로젝트의 빌드 및 배포를 자동화할 수 있습니다. 여러 개의 독립적인 서비스를 개발하고, 각 서비스를 독립적으로 빌드하고 테스트한 후, 컨테이너화하여 Azure Kubernetes Service (AKS) 또는 Azure Service Fabric과 같은 관리형 서비스에 배포할 수 있습니다.

4) 오픈 소스 프로젝트의 CI/CD: Azure Build Pipelines을 사용하여 오픈 소스 프로젝트의 지속적인 통합 및 배포를 구성할 수 있습니다. GitHub 또는 Azure Repos와 같은 소스 제어 시스템과 통합하여 코드 변경 사항을 감지하고, 빌드 및 테스트 작업을 수행한 후, NuGet 패키지, Docker 이미지 또는 npm 패키지와 같은 라이브러리를 배포할 수 있습니다.

5) 다중 환경 배포: Azure Build Pipelines을 사용하여 개발, 테스트, 운영 등의 다양한 환경에 애플리케이션을 배포할 수 있습니다. 각 환경에 맞는 구성 파일 및 설정을 사용하여 빌드 및 배포 프로세스를 구성할 수 있으며, Azure DevTest Labs와 같은 서비스를 활용하여 환경을 구성하고, 배포된 애플리케이션을 테스트하거나 사용자 피드백을 수집할 수 있습니다.

6) 인프라스트럭처 배포 자동화: Azure Build Pipelines은 인프라스트럭처의 배포를 자동화하는 데에도 사용될 수 있습니다. Infrastructure as Code 도구인 Terraform, Azure Resource Manager (ARM) 템플릿 등과 통합하여 인프라 구성 요소의 배포를 자동화하고, 인프라 변경 사항을 추적하고, 인프라 구성의 일관성을 유지할 수 있습니다.


다음 블로그에서는 Azure에서 Azure Build Pipelines와 유사한 서비스로 Azure Release Pipelines에 대하여 알아보겠습니다.

감사합니다.

댓글