배포 게이트

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

게이트는 외부 서비스에서 상태 신호의 자동 수집을 허용한 다음 모든 신호가 성공하면 릴리스를 승격하거나 시간 제한 시 배포를 중지합니다. 일반적으로 게이트는 인시던트 관리, 문제 관리, 변경 관리, 모니터링 및 외부 승인 시스템과 관련하여 사용됩니다.

사용 사례

배포 게이트에 대한 몇 가지 일반적인 사용 사례는 다음과 같습니다.

  • 인시던트 관리: 배포를 계속하기 전에 특정 조건이 충족되는지 확인합니다. 예를 들어 우선 순위 0 버그가 없는 경우에만 배포가 발생하도록 합니다.
  • 승인 요청: Microsoft Teams 또는 Slack과 같은 다른 서비스와 통합하여 법률 부서, 감사자 또는 IT 관리자와 같은 외부 사용자에게 배포에 대해 알리고 승인을 기다립니다.
  • 품질 유효성 검사: 통과 속도 또는 코드 검사와 같은 파이프라인 메트릭을 쿼리하고 미리 정의된 임계값 내에 있는 경우에만 배포합니다.
  • 보안 검사: 아티팩트 검색, 코드 서명 및 정책 검사 같은 보안 검사 수행합니다. 배포 게이트는 검사를 시작하고 완료될 때까지 기다리거나 완료될 때까지 검사 수 있습니다.
  • 기준 기준과 관련된 사용자 환경: 제품 원격 분석을 사용하여 사용자 환경이 기준 상태에서 회귀되지 않았는지 확인합니다. 배포 전에 사용자 환경 메트릭을 기준선으로 사용할 수 있습니다.
  • 변경 관리: 배포를 계속하기 전에 ServiceNow와 같은 시스템의 변경 관리 절차가 완료되기를 기다립니다.
  • 인프라 상태: 배포 후 모니터링을 실행하고 규정 준수 규칙에 대한 인프라의 유효성을 검사하거나 정상적인 리소스 사용률 및 긍정적인 보안 보고서를 기다립니다.

대부분의 상태 매개 변수는 시간이 지남에 따라 다르며, 정기적으로 상태 정상에서 비정상으로, 다시 정상으로 변경합니다. 이러한 변형을 고려하기 위해 모든 게이트가 동시에 성공할 때까지 주기적으로 다시 평가됩니다. 모든 게이트가 동일한 간격 및 구성된 시간 제한 전에 성공하지 못하면 릴리스 실행 및 배포가 진행되지 않습니다.

스테이지의 게이트 정의

스테이지 시작(배포 전 조건) 또는 스테이지 끝(배포 후 조건) 또는 둘 다에 대해 게이트를 사용하도록 설정할 수 있습니다. 자세한 내용은 게이트 설정을 참조하세요.

평가 전 지연은 게이트가 초기화, 안정화 및 현재 배포에 대한 정확한 결과 제공을 시작할 수 있도록 하는 게이트 평가 프로세스 시작 시의 시간 지연입니다. 자세한 내용은 게이트 평가 흐름을 참조하세요.

A screenshot showing the delay before evaluation feature in gates.

  • 배포 전 게이트의 경우 배포 중인 아티팩트에 대해 모든 버그를 기록하는 데 필요한 시간이 지연됩니다.
  • 배포 후 게이트의 경우 지연은 배포된 앱이 안정적인 작동 상태에 도달하는 데 걸리는 최대 시간, 배포된 단계에서 필요한 모든 테스트를 실행하는 데 걸린 시간 및 배포 후 인시던트가 기록되는 데 걸리는 시간입니다.

다음과 같은 다른 게이트가 기본적으로 제공됩니다.

  • Azure 함수 호출: Azure 함수 실행을 트리거하고 성공적인 완료를 보장합니다. 자세한 내용은 Azure 함수 작업을 참조하세요.
  • Azure 모니터 경고 쿼리: 활성 경고에 대해 구성된 Azure Monitor 경고 규칙을 관찰합니다. 자세한 내용은 Azure 모니터 작업을 참조하세요.
  • REST API 호출: REST API를 호출하고 성공적인 응답을 반환하는 경우 계속합니다. 자세한 내용은 REST API 호출 작업을 참조하세요.
  • 쿼리 작업 항목: 쿼리에서 반환된 일치하는 작업 항목 수가 임계값 내에 있는지 확인합니다. 자세한 내용은 작업 항목 쿼리 작업을 참조하세요.
  • 보안 및 규정 준수 평가: 지정된 구독 및 리소스 그룹의 범위 내에서 그리고 필요에 따라 특정 리소스 수준에서 리소스에 대한 Azure Policy 규정 준수를 평가합니다. 자세한 내용은 Azure Policy 규정 준수 확인 작업을 참조하세요.

A screenshot showing the default gates.

Marketplace 확장을 사용하여 자체 게이트를 생성할 수도 있습니다.

모든 게이트에 적용되는 평가 옵션은 다음과 같습니다.

  • 게이트의 재평가 사이의 시간입니다. 게이트의 연속 평가 사이의 시간 간격입니다. 각 샘플링 간격에서 새 요청이 각 게이트에 동시에 전송되고 새 결과가 평가됩니다. 샘플링 간격이 구성된 게이트의 가장 긴 일반적인 응답 시간보다 크면 평가를 위해 모든 응답을 받을 시간을 허용하는 것이 좋습니다.
  • 게이트가 실패하는 시간 제한입니다. 모든 게이트에 대한 최대 평가 기간입니다. 동일한 샘플링 간격 동안 모든 게이트가 성공하기 전에 시간 제한에 도달하면 배포가 거부됩니다.
  • 게이트 및 승인. 둘 다 구성한 경우 게이트 및 승인에 필요한 실행 순서를 선택합니다. 배포 전 조건의 경우 기본값은 수동(사용자) 승인을 먼저 묻는 메시지를 표시한 다음 나중에 게이트를 평가하는 것입니다. 이렇게 하면 사용자가 릴리스를 거부하면 시스템이 게이트 함수를 평가하지 못하게 됩니다. 배포 후 조건의 경우 기본값은 게이트를 평가하고 모든 게이트가 성공한 경우에만 수동 승인을 요청하는 것입니다. 이렇게 하면 승인자가 승인하는 데 필요한 모든 정보를 갖게 됩니다.

게이트 분석에 대한 자세한 내용은 승인 로그 보기 및 배포 모니터링 및 추적을 참조하세요.

게이트 평가 흐름 예제

다음 다이어그램은 초기 안정화 지연 기간 및 세 번의 샘플링 간격 후에 배포가 승인되는 게이트 평가 흐름을 보여 줍니다.

A screenshot showing the gates evaluation flow diagram.

다음 다이어그램은 초기 안정화 지연 기간 이후에 각 샘플링 간격에서 모든 게이트가 성공하지 못한 게이트 평가 흐름을 보여 줍니다. 이 경우 시간 제한 기간이 만료되면 배포가 거부됩니다.

A screenshot showing examples of gates approvals and failures.

리소스