Azure Pipelines 사용

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Azure Pipelines는 CI(연속 통합) 및 CD(지속적인 업데이트)를 지원하여 코드를 지속적으로 테스트, 빌드 및 배포합니다. 파이프라인을 정의하여 이 작업을 수행합니다.

파이프라인을 빌드하는 최신 방법은 YAML 파이프라인 편집기를 사용하는 것입니다. 클래식 편집기에서 클래식 파이프라인을 사용할 수도 있습니다.

Azure Pipelines는 CI(연속 통합) 및 CD(지속적인 업데이트)를 지원하여 코드를 지속적으로 테스트, 빌드 및 배포합니다. 클래식이라고도 하는 사용자 인터페이스를 사용하여 파이프라인을 정의하여 이 작업을 수행 합니다.

참고

Microsoft TFS(Team Foundation Server) 2018 이하 버전에서 빌드 및 릴리스 ‘파이프라인’은 ‘정의’라고 하며 ‘실행’은 ‘빌드’, ‘서비스 연결’은 ‘서비스 엔드포인트’, ‘스테이지’는 ‘환경’, ‘작업’은 ‘단계’라고 합니다.

테스트, 빌드 및 배달 자동화

CI(연속 통합)는 프로젝트에 대한 테스트 및 빌드를 자동화합니다. CI는 더 쉽고 빠르게 해결할 수 있는 개발 주기 초기에 버그 또는 문제를 파악하는 데 도움이 됩니다. 아티팩트로 알려진 항목은 CI 시스템에서 생성됩니다. 지속적인 업데이트 릴리스 파이프라인에서 자동 배포를 구동하는 데 사용됩니다.

지속적인 업데이트는 여러 단계에서 코드를 자동으로 배포하고 테스트하여 품질을 높이는 데 도움이 됩니다. 연속 통합 시스템은 인프라 및 앱을 포함하는 배포 가능한 아티팩트를 생성합니다. 자동화된 릴리스 파이프라인은 이러한 아티팩트를 사용하여 선택한 대상에 새 버전 및 픽스를 릴리스합니다.

CI(연속 통합) CD(지속적인 업데이트)
- 코드 검사 늘리기
- 테스트 및 빌드 실행을 분할하여 더 빠르게 빌드
- 손상된 코드를 자동으로 배송하지 않도록 합니다.
- 지속적으로 테스트 실행
- 프로덕션에 코드 자동 배포
- 배포 대상에 최신 코드가 있는지 확인
- CI 프로세스에서 테스트된 코드 사용

YAML 구문을 사용하여 파이프라인 정의

앱의 나머지 부분과 함께 호출 azure-pipelines.yml 된 YAML 파일에서 파이프라인을 정의합니다.

파이프라인 YAML 소개 이미지

  • 파이프라인은 코드로 버전이 지정되며, 분기 구조도 동일합니다. 끌어오기 요청 및 분기 빌드 정책의 코드 검토를 통해 변경 내용의 유효성을 검사합니다.
  • 사용하는 모든 분기는 파일을 수정하여 파이프라인을 수정할 azure-pipelines.yml 수 있습니다. YAML 파이프라인에 대한 분기 고려 사항에 대해 자세히 알아봅니다.
  • 빌드 프로세스를 변경하면 중단되거나 예기치 않은 결과가 발생할 수 있습니다. 변경 내용은 코드베이스의 나머지 부분과 함께 버전이 제어되므로 이슈를 더 쉽게 확인할 수 있습니다.

다음 기본 단계를 수행합니다.

  1. Git 리포지토리를 사용하도록 Azure Pipelines를 구성합니다.
  2. azure-pipelines.yml 파일을 편집하여 빌드를 정의합니다.
  3. 코드를 버전 제어 리포지토리로 푸시합니다. 이 작업은 기본 트리거를 시작하여 결과를 빌드 및 배포한 다음 결과를 모니터링합니다.

이제 코드가 업데이트, 빌드, 테스트 및 패키지되었으므로 원하는 대상에 배포할 수 있습니다.

YAML 파이프라인은 TFS 2018 및 이전 버전에서 사용할 수 없습니다.

클래식 인터페이스를 사용하여 파이프라인 정의

클래식 사용자 인터페이스 편집기를 사용하여 Azure DevOps 웹 포털에서 파이프라인을 만들고 구성합니다. 빌드 파이프라인를 정의하여 코드를 빌드 및 테스트한 다음 아티팩트를 게시합니다. 또한 릴리스 파이프라인을 정의하여 이러한 아티팩트를 사용하고 배포 대상에 배포합니다.

파이프라인 디자이너 소개 이미지

다음 기본 단계를 수행합니다.

  1. Git 리포지토리를 사용하도록 Azure Pipelines를 구성합니다.
  2. Azure Pipelines 클래식 편집기를 사용하여 빌드 및 릴리스 파이프라인을 만들고 구성합니다.
  3. 코드를 버전 제어 리포지토리로 푸시합니다. 이 작업(action)은 파이프라인을 트리거하고 코드 빌드 또는 테스트와 같은 작업(task)을 실행합니다.

빌드는 스테이징 또는 프로덕션에 배포와 같은 작업을 실행하기 위해 파이프라인의 나머지 부분에 사용되는 아티팩트를 만듭니다.

이제 코드가 업데이트, 빌드, 테스트 및 패키지되었으므로 원하는 대상에 배포할 수 있습니다.

기능 가용성

특정 파이프라인 기능은 YAML을 사용하거나 클래식 인터페이스를 사용하여 빌드 또는 릴리스 파이프라인을 정의할 때만 사용할 수 있습니다. 다음 표에서는 지원되는 기능과 작업 및 메서드를 나타냅니다.

기능 YAML 클래식 빌드 클래식 릴리스 참고
에이전트 파이프라인이 실행되는 필수 리소스를 지정합니다.
승인 배포 단계를 완료하기 전에 필요한 유효성 검사 집합을 정의합니다.
아티팩트 다른 패키지 유형 게시 또는 사용을 지원합니다.
캐싱 한 번의 실행으로 생성된 출력 또는 다운로드한 종속성을 이후 실행 시 다시 사용할 수 있도록 허용하여 빌드 시간을 줄입니다. 미리 보기에서는 Azure Pipelines에서만 사용할 수 있습니다.
조건 작업을 실행하기 전에 충족할 조건을 지정합니다.
컨테이너 작업 컨테이너에서 실행할 작업을 지정합니다.
요청 파이프라인 단계를 실행하기 전에 파이프라인 요구 사항을 충족하는지 확인합니다. 자체 호스팅 에이전트가 필요합니다.
종속성 다음 작업 또는 단계를 실행하기 위해 충족해야 하는 요구 사항을 지정합니다.
배포 그룹 아니요 배포 대상 머신의 논리적 집합을 정의합니다.
배포 그룹 작업 아니요 배포 그룹에 릴리스할 작업을 지정합니다.
Deployment jobs(배포 작업) 아니요 배포 단계를 정의합니다.
환경 아니요 배포 대상으로 지정된 리소스의 컬렉션을 나타냅니다. Azure Pipelines에서만 사용할 수 있습니다.
게이트 아니요 아니요 릴리스 단계를 완료하기 전에 외부 상태 신호의 자동 수집 및 평가를 지원합니다. 클래식 릴리스에서만 사용할 수 있습니다.
작업 단계 집합의 실행 순서를 정의합니다.
Service connections(서비스 연결) 한 작업(job)의 여러 작업(task)을 실행하는 데 필요한 원격 서비스에 연결하도록 설정합니다.
서비스 컨테이너 컨테이너화된 서비스의 수명 주기를 관리할 수 있습니다.
스테이지 아니요 파이프라인 내에 작업을 구성합니다.
작업 그룹 작업 순서를 재사용 가능한 단일 작업으로 캡슐화합니다. YAML을 사용하는 경우 템플릿을 참조하세요.
작업 파이프라인을 구성하는 구성 요소를 정의합니다.
템플릿 재사용 가능한 콘텐츠, 논리 및 매개 변수를 정의합니다.
트리거 파이프라인을 실행하는 이벤트를 정의합니다.
변수 파이프라인에 전달할 데이터로 바꿀 값을 나타냅니다.
변수 그룹 여러 파이프라인에서 제어하고 사용할 수 있는 값을 저장하는 데 사용됩니다.

TFS 2015~TFS 2018은 클래식 인터페이스만 지원합니다. 다음 표에서는 빌드 또는 릴리스 파이프라인을 정의할 때 사용할 수 있는 파이프라인 기능을 나타냅니다.

기능 클래식 빌드 클래식 릴리스 참고
에이전트 파이프라인이 실행되는 필수 리소스를 지정합니다.
승인 아니요 배포 단계를 완료하기 전에 필요한 유효성 검사 집합을 정의합니다.
아티팩트 다른 패키지 유형 게시 또는 사용을 지원합니다.
조건 작업을 실행하기 전에 충족할 조건을 지정합니다.
요청 파이프라인 단계를 실행하기 전에 파이프라인 요구 사항을 충족하는지 확인합니다. 자체 호스팅 에이전트가 필요합니다.
종속성 다음 작업 또는 단계를 실행하기 위해 충족해야 하는 요구 사항을 지정합니다.
배포 그룹 배포 대상 머신의 논리적 집합을 정의합니다.
배포 그룹 작업 배포 그룹에 릴리스할 작업을 지정합니다.
작업 단계 집합의 실행 순서를 정의합니다.
Service connections(서비스 연결) 한 작업(job)의 여러 작업(task)을 실행하는 데 필요한 원격 서비스에 연결하도록 설정합니다.
스테이지 파이프라인 내에 작업을 구성합니다.
작업 그룹 작업 순서를 재사용 가능한 단일 작업으로 캡슐화합니다. YAML을 사용하는 경우 템플릿을 참조하세요.
작업 파이프라인을 구성하는 구성 요소를 정의합니다.
트리거 파이프라인을 실행하는 이벤트를 정의합니다.
변수 파이프라인에 전달할 데이터로 바꿀 값을 나타냅니다.
변수 그룹 여러 파이프라인에서 제어하고 사용할 수 있는 값을 저장하는 데 사용됩니다.

다음 단계