새 Azure Pipelines 사용자를 위한 주요 개념

Azure DevOps Services

Azure Pipelines를 구성하는 주요 개념 및 구성 요소에 대해 알아봅니다. 파이프라인의 기본 용어 및 부분을 이해하면 코드를 보다 효과적으로 빌드, 테스트 및 배포하는 데 도움이 될 수 있습니다.

주요 개념 개요

주요 개념 그래픽

Azure Pipelines 용어

에이전트

빌드 또는 배포가 실행되면 시스템은 하나 이상의 작업을 시작합니다. 에이전트는 한 번에 하나의 작업을 실행하는 설치된 에이전트 소프트웨어가 있는 컴퓨팅 인프라입니다. 예를 들어 Microsoft에서 호스트하는 Ubuntu 에이전트에서 작업을 실행할 수 있습니다.

다양한 유형의 에이전트 및 사용 방법에 대한 자세한 내용은 Azure Pipelines 에이전트를 참조 하세요.

승인

승인 배포를 실행하기 전에 필요한 유효성 검사 집합을 정의합니다. 수동 승인은 프로덕션 환경에 대한 배포를 제어하기 위해 수행되는 일반적인 검사. 환경에서 검사 구성되면 모든 검사 성공적으로 완료될 때까지 파이프라인 실행이 일시 중지됩니다.

아티팩트

아티팩트는 실행에서 게시한 파일 또는 패키지의 컬렉션입니다. 아티팩트는 분산 또는 배포와 같은 후속 작업에 사용할 수 있습니다. 자세한 내용은 Azure Pipelines의 아티팩트(Artifacts)를 참조 하세요.

지속적인 업데이트

CD(지속적인 업데이트)는 코드를 빌드, 테스트 및 하나 이상의 테스트 및 프로덕션 단계에 배포하는 프로세스입니다. 여러 스테이지에 걸쳐 배포하고 테스트하면 품질을 높이는 데 도움이 됩니다. 연속 통합 시스템은 인프라 및 앱을 포함하는 배포 가능한 아티팩트를 생성합니다. 자동화된 릴리스 파이프라인은 이러한 아티팩트를 사용하여 기존 시스템에 새 버전 및 픽스를 릴리스합니다. 모니터링 및 경고 시스템은 전체 CD 프로세스에 대한 가시성을 높이기 위해 지속적으로 실행됩니다. 이 프로세스를 통해 오류를 조기에 자주 발견할 수 있습니다.

연속 통합

CI(연속 통합)는 개발 팀에서 코드 테스트 및 빌드를 간소화하기 위해 사용하는 방식입니다. CI는 개발 주기 초기에 버그 또는 문제를 파악하는 데 도움이 되며, 이를 통해 더 쉽고 빠르게 해결할 수 있습니다. 자동화된 테스트 및 빌드는 CI 프로세스의 일부로 실행됩니다. 이 프로세스는 설정된 일정에 따라, 코드가 푸시될 때마다 또는 두 가지 경우 모두에 실행할 수 있습니다. 아티팩트로 알려진 항목은 CI 시스템에서 생성됩니다. 지속적인 업데이트 릴리스 파이프라인에서 자동 배포를 구동하는 데 사용됩니다.

배포

클래식 파이프라인 배포는 한 단계에 대한 작업을 실행하는 작업입니다. 배포에는 자동화된 테스트 실행, 빌드 아티팩트 배포 및 해당 단계에 대해 지정된 다른 작업이 포함될 수 있습니다.

YAML 파이프라인의 경우 배포는 배포 작업을 나타냅니다. 배포 작업은 환경에 대해 순차적으로 실행되는 단계의 컬렉션입니다. 한 번 실행, 롤링 및 카나리아와 같은 전략을 배포 작업에 사용할 수 있습니다.

배포 그룹

배포 그룹은 에이전트가 설치된 배포 대상 컴퓨터 집합입니다. 배포 그룹은 에이전트 풀과 같은 에이전트의 또 다른 그룹일 뿐입니다. 배포 그룹을 사용하여 작업에 대한 파이프라인에서 배포 대상을 설정할 수 있습니다. 배포 그룹에 대한 에이전트 프로비저닝에 대해 자세히 알아봅니다.

환경

환경은 애플리케이션을 배포하는 리소스의 컬렉션입니다. 하나의 환경에는 하나 이상의 가상 머신, 컨테이너, 웹앱 또는 모든 서비스가 포함될 수 있습니다. 파이프라인은 빌드가 완료되고 테스트가 실행된 후 하나 이상의 환경에 배포됩니다.

작업

스테이지에는 하나 이상의 작업이 포함됩니다. 각 작업은 에이전트에서 실행됩니다. 작업은 단계 집합의 실행 경계를 나타냅니다. 모든 단계는 동일한 에이전트에서 함께 실행됩니다. 작업은 다양한 환경에서 일련의 단계를 실행하려는 경우에 가장 유용합니다. 예를 들어 x86 및 x64의 두 가지 구성을 빌드하려는 상황이 있을 수 있는데, 이 경우 하나의 스테이지와 두 개의 작업이 있습니다. 한 가지 작업은 x86용이고 다른 작업은 x64용입니다.

에이전트 없는 작업은 에이전트를 사용하지 않고 Azure DevOps 및 Azure DevOps Server에서 실행됩니다. 제한된 수의 작업이 에이전트 없는 작업을 지원합니다.

파이프라인

파이프라인은 앱에 대한 연속 통합 및 지속적인 배포 프로세스를 정의합니다. 하나 이상의 스테이지로 구성됩니다. 테스트, 빌드 및 배포 단계를 실행하는 방법을 정의하는 워크플로로 생각할 수 있습니다.

클래식 파이프라인의 경우 파이프라인을 정의라고도 할 수 있습니다.

Release

클래식 파이프라인의 경우 릴리스 는 파이프라인에 지정된 버전이 지정된 아티팩트 집합입니다. 릴리스에는 단계, 작업, 정책(예: 트리거 및 승인자) 및 배포 옵션과 같은 릴리스 파이프라인의 모든 작업 및 작업을 수행하는 데 필요한 모든 정보의 스냅샷 포함됩니다. 배포 트리거 또는 REST API를 사용하여 릴리스를 수동으로 만들 수 있습니다.

YAML 파이프라인의 경우 빌드 및 릴리스 단계는 하나의 다단계 파이프라인에 있습니다.

실행

빌드는 파이프라인을 한 번 실행한 것을 나타냅니다. 빌드에서는 단계 실행과 관련된 로그와 테스트 실행 결과를 수집합니다. 실행하는 동안 Azure Pipelines는 먼저 파이프라인을 처리한 다음 하나 이상의 에이전트에 실행을 보냅니다. 각 에이전트는 작업을 실행합니다. 파이프라인 실행 시퀀스에 대해 자세히 알아봅니다.

클래식 파이프라인의 경우 빌드는 하나의 파이프라인 실행을 나타냅니다.

스크립트

스크립트는 명령줄, PowerShell 또는 Bash를 사용하여 파이프라인에서 한 단계로 코드를 실행합니다. macOS, Linux 및 Windows용 플랫폼 간 스크립트를 작성할 수 있습니다. 태스크달리 스크립트는 파이프라인과 관련된 사용자 지정 코드입니다.

단계

단계는 파이프라인의 논리적 경계입니다. 관심사(예: 빌드, QA 및 프로덕션)를 구분해 표시하는 데 사용할 수 있습니다. 각 스테이지에는 하나 이상의 작업이 포함됩니다. 파이프라인에서 여러 스테이지를 정의하는 경우 기본적으로 하나씩 실행됩니다. 스테이지가 실행되는 경우에 대한 조건을 지정할 수 있습니다. 스테이지가 필요한지 여부를 생각할 때는 다음 사항을 자문해 보세요.

  • 개별 그룹이 이 파이프라인의 여러 부분을 관리하나요? 예를 들어 테스트와 관련된 작업을 관리하는 테스트 관리자와 프로덕션 배포 관련 작업을 관리하는 다른 관리자가 있을 수 있습니다. 이 경우 테스트 및 프로덕션을 위한 별도의 스테이지를 마련하는 것이 좋습니다.
  • 특정 작업 또는 작업 집합에 연결된 승인 집합이 있나요? 그렇다면 스테이지를 사용하여 작업을 승인이 필요한 논리 그룹으로 분리할 수 있습니다.
  • 장시간 실행해야 하는 작업이 있나요? 파이프라인의 작업이 장기 실행 시간이 있는 경우 해당 작업을 자체 단계에 배치하는 것이 좋습니다.

단계

작업은 파이프라인의 최소 구성 요소입니다. 예를 들어 파이프라인은 빌드 및 테스트 단계로 구성될 수 있습니다. 단계는 스크립트 또는 태스크일 수 있습니다. 작업은 편의를 위해 제공되는 미리 생성된 스크립트일 뿐입니다. 사용 가능한 작업을 보려면 빌드 및 릴리스 작업 참조를 참조하세요. 사용자 지정 작업을 만드는 방법에 대한 자세한 내용은 사용자 지정 작업 만들기를 참조 하세요.

작업

작업은 파이프라인에서 자동화를 정의하기 위한 구성 요소입니다. 태스크는 일련의 입력으로 추상화된 패키지 스크립트 또는 프로시저입니다.

트리거

트리거는 파이프라인에 실행 시기를 알리기 위해 설정된 기능입니다. 리포지토리로 푸시할 때나 예약된 시간에 또는 다른 빌드가 완료되면 실행되도록 파이프라인을 구성할 수 있습니다. 이러한 모든 작업을 트리거라고 합니다. 자세한 내용은 빌드 트리거 및 릴리스 트리거를 참조하세요.

라이브러리

라이브러리에는 보안 파일변수 그룹이 포함됩니다. 보안 파일은 파일을 저장하고 파이프라인 간에 공유하는 방법입니다. 예를 들어 다른 파이프라인에 대해 동일한 파일을 참조할 수 있습니다. 이 경우 라이브러리 내에 파일을 저장하고 필요할 때 사용할 수 있습니다. 변수 그룹은 YAML 파이프라인에 전달하거나 여러 파이프라인에서 사용할 수 있도록 할 수 있는 값과 비밀을 저장합니다.

작성자 정보

  • Dave Jarvis는 주요 개념 개요 그래픽에 기여했습니다.