클래식 파이프라인 정의

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

Azure Pipelines는 개발, 스테이징, QA 및 프로덕션과 같은 여러 단계에 릴리스할 수 있도록 매우 구성 가능하고 관리 가능한 파이프라인을 제공합니다. 또한 각 특정 단계에서 게이트 및 승인을 구현할 수 있는 기회를 제공합니다.

이 자습서에서는 다음 사항에 대해 알아봅니다.

  • 지속적인 배포 트리거
  • 단계 추가
  • 배포 전 승인 추가
  • 릴리스 만들기 및 배포 모니터링

필수 조건

필요한 사항:

  • 하나 이상의 스테이지를 포함하는 릴리스 파이프라인입니다. 아직 없는 경우 다음 빠른 시작 및 자습서 중 하나를 통해 작업하여 만들 수 있습니다.

  • 앱을 배포할 두 개의 별도 대상입니다. 가상 머신, 웹 서버, 온-프레미스 물리적 배포 그룹 또는 다른 유형의 배포 대상일 수 있습니다. 이 예제에서는 Azure 앱 Service 웹 사이트 인스턴스를 사용합니다. 동일한 작업을 수행하려는 경우 고유한 이름을 선택해야 하지만 이름을 쉽게 식별할 수 있도록 "QA"를 하나의 이름에 포함하고 다른 이름에 "프로덕션"을 포함하는 것이 좋습니다. Azure Portal을 사용하여 새 웹앱을 만듭니다.

CD(지속적인 배포) 트리거

연속 배포 트리거를 사용하도록 설정하면 새 빌드를 사용할 수 있을 때마다 파이프라인이 자동으로 새 릴리스를 만들도록 지시합니다.

  1. Azure Pipelines에서 릴리스 탭을 엽니다. 릴리스 파이프라인을 선택하여 편집을 선택합니다.

    릴리스 파이프린 편집

  2. 아티팩트 섹션에서 연속 배포 트리거 아이콘을 선택하여 트리거 패널을 엽니다. 새 빌드가 완료될 때마다 새 릴리스가 만들어지도록 이 기능을 사용하도록 설정해야 합니다.

    지속적인 배포 트리거

  3. 스테이지 섹션에서 배포 전 조건 아이콘을 선택하여 조건 패널을 엽니다. 이 단계에 배포하기 위한 트리거가 릴리스 후로 설정되어 있는지 확인합니다. 즉, 이 릴리스 파이프라인에서 새 릴리스를 만들 때 배포가 자동으로 시작됩니다.

    배포 전 조건

    릴리스 트리거, 단계 트리거를 설정하거나 배포를 예약할 수도 있습니다.

단계 추가

이 섹션에서는 릴리스 파이프라인에 QA 및 프로덕션이라는 두 개의 새 단계를 추가합니다(이 예제에서는 두 개의 Azure 앱 Services 웹 사이트). 처음에는 테스트 또는 스테이징 서버에 배포한 다음 라이브 또는 프로덕션 서버에 배포하는 일반적인 시나리오입니다. 각 단계는 하나의 배포 대상을 나타냅니다.

  1. 릴리스 파이프라인에서 파이프라인 탭을 선택하고 기존 단계를 선택합니다. 스테이지의 이름을 프로덕션으로 변경합니다.

    파이프라인 탭에서 기존 스테이지를 선택하고 스테이지 패널에서 이름을 프로덕션으로 변경

  2. + 드롭다운 목록 추가선택하고 복제 단계를 선택합니다(복제 옵션은 기존 스테이지를 선택한 경우에만 사용할 수 있음).

    복제 단계 선택

    일반적으로 배포된 앱이 동일한 방식으로 동작하도록 테스트 및 프로덕션 단계에서 동일한 배포 방법을 사용하려고 합니다. 기존 스테이지를 복제하는 것은 둘 다에 대해 동일한 설정을 갖도록 하는 좋은 방법입니다. 그런 다음 배포 대상을 변경하기만 하면 됩니다.

  3. 복제된 단계에는 프로덕션 복사본이라는 이름이 있습니다. 이를 선택하고 이름을 QA변경합니다.

    스테이지 이름을 QA로 변경

  4. 파이프라인의 단계를 다시 구성하려면 QA 단계에서 배포 전 조건 아이콘을 선택하고 트리거를 After 릴리스설정합니다. 그런 다음 파이프라인 다이어그램은 두 단계를 병렬로 표시합니다.

    스테이지 재구성

  5. 프로덕션 단계에서 배포 전 조건 아이콘을 선택하고 트리거를 After 스테이지설정한 다음 스테이지 드롭다운 목록에서 QA 선택합니다. 이제 파이프라인 다이어그램은 두 단계가 올바른 순서로 실행될 것임을 나타냅니다.

    QA 트리거 및 단계 선택

    참고 항목

    이전 단계에 대한 배포가 부분적으로 성공한 경우 배포를 시작하도록 설정할 수 있습니다. 즉, 중요하지 않은 특정 작업이 실패한 경우에도 배포가 계속됩니다. 이는 일반적으로 여러 단계에 병렬로 배포되는 포크 및 조인 배포에서 사용됩니다.

  6. 작업 드롭다운 목록을 선택하고 QA 단계를 선택합니다.

    작업 드롭다운 및 QA 단계 선택

  7. 사용 중인 작업에 따라 이 단계가 "QA" 대상에 배포되도록 설정을 변경합니다. 이 예제에서는 아래와 같이 Azure 앱 Service 배포 작업을 사용합니다.

    Azure App Service 배포 작업 사용

배포 전 승인 추가

이전에 수정한 릴리스 파이프라인은 QA 및 프로덕션에 배포됩니다. QA에 대한 배포가 실패하면 프로덕션에 대한 배포가 트리거되지 않습니다. 프로덕션에 배포하기 전에 항상 앱이 QA 또는 테스트 단계에서 제대로 작동하는지 확인하는 것이 좋습니다. 승인을 추가하면 다음 단계에 배포하기 전에 모든 조건이 충족됩니다. 파이프라인에 승인을 추가하려면 다음 단계를 수행합니다.

  1. 파이프라인 탭, 배포 전 조건 아이콘, 배포 전 승인자를 선택합니다.

    배포 전 승인자 패널

  2. 승인자 텍스트 상자에 배포를 승인할 사용자를 입력합니다. 또한 해제하는 것이 좋습니다검사 릴리스 또는 배포를 요청하는 사용자가 검사 확인란을 승인하지 않아야 합니다.

    배포 전 승인자 추가

    개별 사용자와 조직 그룹 모두에 필요한 만큼 승인자를 추가할 수 있습니다. 파이프라인 다이어그램의 스테이지 오른쪽에 있는 "사용자" 아이콘을 선택하여 배포 후 승인을 설정할 수도 있습니다. 자세한 내용은 릴리스 게이트 및 승인을 참조 하세요.

  3. 저장을 선택합니다.

    릴리스 파이프라인 저장

릴리스 만들기

이제 릴리스 파이프라인 설정이 완료되었으므로 배포를 시작해야 합니다. 이를 위해 새 릴리스를 수동으로 만듭니다. 일반적으로 릴리스는 새 빌드 아티팩트를 사용할 수 있을 때 자동으로 만들어집니다. 그러나 이 시나리오에서는 수동으로 만듭니다.

  1. 릴리스 드롭다운 목록을 선택하고 릴리스 만들기를 선택합니다.

    새 릴리스 만들기

  2. 릴리스에 대한 설명을 입력하고 올바른 아티팩트가 선택되었는지 검사 다음 만들기를 선택합니다.

    새 릴리스 패널 만들기

  3. 새 릴리스가 만들어졌음을 나타내는 배너가 표시됩니다. 릴리스 링크를 선택하여 자세한 내용을 확인합니다.

    릴리스가 성공적으로 생성됨

  4. 릴리스 요약 페이지에는 각 단계에 대한 배포의 상태 표시됩니다.

    배포 상태

    릴리스 목록과 같은 다른 보기에는 승인이 보류 중임을 나타내는 아이콘도 표시됩니다. 아이콘은 스테이지 이름을 포함하는 팝업과 가리킬 때 자세한 내용을 표시합니다. 이렇게 하면 관리자가 승인을 기다리고 있는 릴리스와 모든 릴리스의 전반적인 진행 상황을 쉽게 확인할 수 있습니다.

    릴리스 목록 보기

  5. pending_approval 아이콘을 선택하여 승인 창 패널을 엽니다. 간단한 설명을 입력하고 승인을 선택합니다.

    배포 승인

참고 항목

예를 들어 사용량이 아닌 시간에는 나중에 배포를 예약할 수 있습니다. 다른 사용자에게 승인을 다시 할당할 수도 있습니다. 릴리스 관리자는 모든 승인 결정에 액세스하고 재정의할 수 있습니다.

배포 모니터링 및 추적

배포 로그는 애플리케이션의 릴리스를 모니터링하고 디버그하는 데 도움이 됩니다. 배포 로그를 검사 다음 단계를 수행합니다.

  1. 릴리스 요약에서 스테이지를 마우스로 가리키고 로그를 선택합니다.

    배포 로그

    배포하는 동안 로그 페이지에 계속 액세스하여 모든 작업의 라이브 로그를 볼 수 있습니다.

  2. 특정 태스크에 대한 로그를 보려면 작업을 선택합니다. 이렇게 하면 배포 문제를 더 쉽게 추적하고 디버그할 수 있습니다. 개별 작업 로그 또는 모든 로그 파일의 zip을 다운로드할 수도 있습니다.

    로그 다운로드

  3. 배포를 디버그하는 데 추가 정보가 필요한 경우 디버그 모드에서 릴리스를 실행할 수 있습니다.

다음 단계