Azure DevOps Services
이 문서에서는 Azure Pipelines를 구성하는 주요 개념 및 구성 요소를 제공합니다. 파이프라인의 기본 용어 및 부분을 이해하면 코드를 보다 효과적으로 빌드, 테스트 및 배포하는 데 도움이 될 수 있습니다.
주요 개념 개요
다음 그래픽에서는 파이프라인의 주요 구성 요소 및 동작을 보여 줍니다.
데이브 자비스는 이 그래픽에 기여했습니다.
- 수동, 예약 또는 자동화된 트리거 로 인해 파이프라인 이 시작됩니다.
- 파이프라인은 하나 이상의 단계를 포함하고 하나 이상의 환경에 배포할 수 있습니다.
- 단계는 파이프라인을 구성하는 방법이며 각각에는 하나 이상의 작업이 포함됩니다.
- 작업은에이전트에서 실행되거나 에이전트가 없을 수 있습니다.
- 각 작업에 는 하나 이상의 단계가 포함됩니다.
- 단계는 파이프라인의 가장 작은 요소이며 태스크 또는 스크립트일 수 있습니다.
- 작업 REST API 호출 또는 빌드 아티팩트 게시와 같은 작업을 수행하는 미리 패키지된 스크립트입니다.
- 파이프라인 실행 은 파일 또는 패키지 와 같은 아티팩 트를 생성합니다.
Azure Pipelines 용어
다음 용어는 주요 Azure Pipelines 구성 요소 및 프로세스를 정의합니다.
요원
에이전트는 한 번에 하나의 파이프라인 작업을 실행하는 설치된 에이전트 소프트웨어가 있는 컴퓨팅 인프라입니다. 예를 들어 Microsoft 호스팅 Ubuntu 에이전트에서 작업을 실행할 수 있습니다. 다양한 유형의 에이전트 및 사용 방법에 대한 자세한 내용은 Azure Pipelines 에이전트를 참조하세요.
에이전트를 사용하지 않고도 제한된 수의 작업 단계를 실행할 수 있습니다. 자세한 내용은 에이전트 없는 작업 지원 작업을 참조하세요.
승인 및 확인
승인 및 검사는 파이프라인 또는 스테이지가 실행되기 전에 필요한 유효성 검사 집합을 정의합니다. 수동 승인은 프로덕션 환경에 대한 배포를 제어하는 일반적인 검사입니다. 환경에 검사 및 승인이 구성된 경우 파이프라인은 모든 검사 및 승인이 성공적으로 완료될 때까지 일시 중지됩니다.
유물
아티팩트(Artifacts)는 런(run)에서 게시하고 배포와 같은 후속 파이프라인 작업에 사용할 수 있는 파일 또는 패키지의 컬렉션입니다. Azure Pipelines의 아티팩트들은 단일 피드로 패키지를 저장, 관리 및 공유할 수 있는 Azure DevOps의 일부인 Azure Artifacts와 다릅니다.
지속적 배포
CD(지속적인 업데이트)는 하나 이상의 테스트 및 프로덕션 환경에 코드를 빌드, 테스트 및 배포하는 프로세스입니다. 여러 단계로 배포 및 테스트하면 오류를 조기에 자주 catch하여 품질을 높이는 데 도움이 됩니다.
자동화된 CD 릴리스 파이프라인은 연속 통합(CI) 파이프라인의 아티팩트를 사용하여 새 버전 및 수정 사항을 릴리스할 수 있습니다. 지속적인 모니터링 및 경고는 CD 프로세스에 대한 가시성을 제공합니다.
연속 통합
CI(연속 통합)는 자동화된 테스트를 실행하고 코드가 푸시될 때마다 또는 둘 다 일정에 따라 빌드하는 프로세스입니다. CI는 코드 테스트 및 빌드를 간소화하고, 더 쉽고 빠르게 해결할 수 있는 개발 주기 초기에 문제를 해결하는 데 도움이 됩니다. CI 파이프라인은 아티팩트를 생성하며, CD 파이프라인이 이를 자동 배포에 사용할 수 있습니다.
전개
YAML 파이프라인의 경우 배포 작업은 환경에 대해 순차적으로 실행되는 단계의 컬렉션입니다. 배포 작업은 다음과 runOnce같은 rolling전략을 사용할 수 있습니다canary. 자세한 내용은 배포 작업을 참조 하세요.
클래식 파이프라인에서 배포는 자동화된 테스트 실행, 빌드 아티팩트 배포 및 기타 지정된 작업을 포함할 수 있는 배포 단계에 대한 작업을 실행합니다.
배포 그룹
Azure Pipelines 클래식 릴리스 파이프라인에서 배포 그룹은 배포 대상 컴퓨터의 논리적 그룹입니다. 배포 그룹의 모든 대상 서버에는 배포 에이전트가 설치되어 있어야 합니다. 자세한 내용은 배포 그룹에 대한 프로비저닝 에이전트를 참조하세요.
환경
환경은 애플리케이션을 배포하는 가상 머신, 컨테이너, 웹앱 또는 서비스와 같은 리소스의 컬렉션입니다. 파이프라인은 빌드를 완료하고 테스트를 실행한 후 하나 이상의 환경에 배포할 수 있습니다.
직업
작업은 동일한 에이전트에서 순차적으로 실행되는 단계 집합의 실행 경계를 나타냅니다. 파이프라인 단계에 는 하나 이상의 작업이 포함될 수 있습니다. 작업이 항상 기본적으로 단계에서 순차적으로 실행되는 것은 아닙니다.
작업은 다양한 환경에서 일련의 단계를 실행하는 데 유용합니다. 예를 들어, 빌드 단계에는 x86 구성과 x64 구성을 각각 빌드하기 위한 두 개의 작업이 포함될 수 있습니다.
각 작업은 해당 작업의 모든 단계를 실행하는 에이전트에서 실행됩니다. 제한된 수의 작업 단계는 에이전트 없이 실행되는 에이전트 없는 작업을 지원합니다. 자세한 내용은 에이전트 없는 작업 지원 작업을 참조하세요.
도서관
Azure Pipelines 라이브러리 에는 보안 파일 및 변수 그룹이 포함됩니다. 보안 파일은 파일을 저장하고 파이프라인 간에 공유하는 방법입니다. 변수 그룹은 YAML 파이프라인에 전달하거나 여러 파이프라인에서 사용할 수 있는 값과 비밀을 저장합니다.
파이프라인
Azure Pipelines 파이프라인은 일괄 처리 파일 실행에서 앱의 CI/CD 프로세스 자동화에 이르기까지 빌드, 테스트 및 배포 작업에 대한 워크플로를 정의합니다. 파이프라인은 작업 및 단계를 포함하는 하나 이상의 단계로 구성됩니다.
YAML 기반 또는 클래식 편집기를 사용하여 파이프라인을 정의할 수 있습니다. 자세한 내용은 YAML 및 클래식 파이프라인을 참조하세요.
릴리스
릴리스는 클래식 파이프라인에서 지정된 버전의 아티팩트 집합입니다. 릴리스에는 단계, 작업, 트리거, 승인 정책 및 배포 옵션과 같은 릴리스 파이프라인을 실행하는 데 필요한 모든 정보의 스냅샷이 포함됩니다. 배포 트리거 또는 REST API를 사용하여 릴리스를 수동으로 만들 수 있습니다.
YAML 파이프라인에서 빌드 및 릴리스 단계는 모두 다단계 파이프라인 정의에 포함됩니다.
달리기
하나의 실행은 파이프라인의 한 과정을 나타냅니다. 실행하는 동안 Azure Pipelines는 먼저 파이프라인을 처리한 다음 하나 이상의 에이전트에 실행을 전송하여 작업을 실행합니다. 실행은 단계 및 테스트의 실행 결과로부터 로그를 수집합니다. 자세한 내용은 파이프라인 실행을 참조하세요.
스크립트
스크립트는 파이프라인의 단계로 명령줄, PowerShell 또는 Bash 코드를 실행합니다. macOS, Linux 및 Windows용
단계
단계는 빌드, 테스트 및 프로덕션과 같은 문제의 분리를 표시할 수 있는 파이프라인의 논리적 경계입니다. 각 단계에는 하나 이상의 작업이 포함됩니다. 파이프라인의 여러 단계는 기본적으로 하나씩 실행됩니다. 스테이지가 실행되는 경우에 대한 다른 조건을 지정할 수 있습니다.
파이프라인의 스테이지 정의는 다음과 같은 경우에 유용합니다.
- 개별 그룹은 파이프라인의 여러 부분을 관리합니다. 예를 들어 다른 관리자가 테스트 및 배포 작업을 관리하는 경우 별도의 테스트 및 프로덕션 단계를 갖는 것이 좋습니다.
- 승인 집합은 특정 작업 또는 작업 집합에 연결됩니다. 승인을 위해 이러한 작업을 별도의 단계로 배치할 수 있습니다.
- 파이프라인에는 오랜 시간 실행해야 하는 작업이 있습니다. 이러한 작업을 별도의 단계에 배치할 수 있습니다.
단계
단계는 파이프라인의 가장 작은 구성 요소입니다. 기본적으로 단계는 작업에서 하나씩 실행됩니다. 단계는 스크립트 또는 작업일 수 있습니다.
업무
작업은 파이프라인에서 자동화를 정의하기 위해 입력 집합으로 추상화된 미리 패키지된 스크립트 또는 프로시저입니다. 사용 가능한 작업은 Azure Pipelines 작업 참조를 참조하세요. 사용자 지정 작업을 만드는 방법에 대한 자세한 내용은 사용자 지정 파이프라인 작업 확장 추가를 참조하세요.
유발 요소
트리거는 파이프라인이 실행되도록 하는 이벤트입니다. 파이프라인을 수동으로 트리거하거나 설정된 일정에 따라 실행할 수 있습니다. 리포지토리에 푸시할 때, 다른 빌드가 완료될 때 또는 다른 조건에서 자동으로 실행되는 파이프라인을 트리거할 수도 있습니다. 자세한 내용은 파이프라인 및 클래식 릴리스 트리거를 트리거하는 이벤트 지정을 참조하세요.