stage.stage 정의

단계는 관련 작업의 컬렉션입니다. 기본적으로 단계는 순차적으로 실행됩니다. 각 단계는 속성을 통해 dependsOn 달리 지정하지 않는 한 이전 단계가 완료된 후에만 시작됩니다.

stages:
- stage: string # Required as first property. ID of the stage.
  displayName: string # Human-readable name for the stage.
  pool: string | pool # Pool where jobs in this stage will run unless otherwise specified.
  dependsOn: string | [ string ] # Any stages which must complete before this one.
  condition: string # Evaluate this condition expression to determine whether to run this stage.
  variables: variables | [ variable ] # Stage-specific variables.
  jobs: [ job | deployment | template ] # Jobs which make up the stage.
  lockBehavior: string # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
  templateContext: # Stage related information passed from a pipeline when extending a template.
stages:
- stage: string # Required as first property. ID of the stage.
  displayName: string # Human-readable name for the stage.
  pool: string | pool # Pool where jobs in this stage will run unless otherwise specified.
  dependsOn: string | [ string ] # Any stages which must complete before this one.
  condition: string # Evaluate this condition expression to determine whether to run this stage.
  variables: variables | [ variable ] # Stage-specific variables.
  jobs: [ job | deployment | template ] # Jobs which make up the stage.

이 정의를 참조하는 정의: 단계

속성

stage 문자열. 첫 번째 속성으로 필요합니다.
스테이지의 ID입니다.

displayName 문자열.
스테이지의 사람이 읽을 수 있는 이름입니다.

pool.
달리 지정하지 않는 한 이 단계의 작업이 실행되는 풀입니다.

dependsOn string | 문자열 목록입니다.
이 단계 이전에 완료해야 하는 모든 단계입니다. 기본적으로 단계는 파이프라인에 정의된 순서대로 순차적으로 실행됩니다. 파이프라인의 이전 단계에 의존하지 않아야 하는 경우 스테이지를 지정 dependsOn: [] 합니다.

condition 문자열.
이 조건 식을 평가하여 이 단계를 실행할지 여부를 결정합니다.

variables변수.
단계별 변수입니다.

jobs작업.
스테이지를 구성하는 작업입니다.

lockBehavior 문자열.
이 단계의 동작 잠금 요청은 다른 배타적 잠금 요청과 관련하여 표시됩니다. 순차 | runLatest.

templateContext templateContext.
템플릿을 확장할 때 파이프라인에서 전달된 관련 정보를 단계화합니다. 에 대한 templateContext자세한 내용은 이제 확장 YAML 파이프라인 템플릿을 단계, 작업 및 배포에 대한 컨텍스트 정보를 전달할 수 있음 및템플릿 - templateContext를 사용하여 템플릿에 속성을 전달합니다.

설명

승인 검사를 사용하여 스테이지가 실행되어야 하는 시기를 수동으로 제어합니다. 이러한 검사는 일반적으로 프로덕션 환경에 대한 배포를 제어하는 데 사용됩니다.

검사는 리소스 소유자가 사용할 수 있는 메커니즘입니다. 파이프라인의 단계에서 리소스를 사용하는 시기를 제어합니다. 환경과 같은 리소스의 소유자로서 리소스를 사용하는 단계가 시작되기 전에 필요한 검사를 정의할 수 있습니다.

현재 수동 승인 검사는 환경에서 지원됩니다. 자세한 내용은 승인을 참조하세요.

단독 잠금

YAML 파이프라인에서 검사는 보호된 리소스에 대한 단계 실행을 제어하는 데 사용됩니다. 사용할 수 있는 일반적인 검사 중 하나는 전용 잠금 검사. 이 검사 파이프라인에서 한 번만 실행할 수 있습니다. 여러 실행이 동시에 환경에 배포하려고 하면 검사 모든 이전 실행을 취소하고 최신 실행을 배포하도록 허용합니다.

다음 두 값이 있는 속성을 사용하여 lockBehavior 배타적 잠금 검사 동작을 구성할 수 있습니다.

  • runLatest - 최신 실행만 리소스에 대한 잠금을 획득합니다. 이 값은 가 지정되지 않은 lockBehavior 경우 기본값입니다.
  • sequential - 모든 실행은 보호된 리소스에 대한 잠금을 순차적으로 획득합니다.

이전 실행을 취소하는 것은 릴리스가 누적되고 이전 실행의 모든 코드 변경 내용을 포함하는 경우에 좋은 방법입니다. 그러나 코드 변경이 누적되지 않는 일부 파이프라인이 있습니다. 속성을 구성 lockBehavior 하여 모든 실행이 진행 및 환경에 순차적으로 배포되도록 허용하거나 이전 실행을 취소하고 최신 실행만 허용하는 이전 동작을 유지하도록 선택할 수 있습니다. 값은 sequential 모든 실행이 보호된 리소스에 대한 잠금을 순차적으로 획득한다는 것을 의미합니다. 값은 runLatest 최신 실행만 리소스에 대한 잠금을 획득한다는 것을 의미합니다.

배포 또는 runLatest에서 배타적 잠금 검사 sequential 사용하려면 다음 단계를 수행합니다.

  1. 환경(또는 다른 보호된 리소스)에서 배타적 잠금 검사 사용하도록 설정합니다.
  2. 파이프라인에 대한 YAML 파일에서 라는 lockBehavior새 속성을 지정합니다. 전체 파이프라인 또는 지정된 단계에 대해 지정할 수 있습니다.

스테이지에서 설정:

stages:
- stage: A
  lockBehavior: sequential
  jobs:
  - job: Job
    steps:
    - script: Hey!

파이프라인에서 다음을 설정합니다.

lockBehavior: runLatest
stages:
- stage: A
  jobs:
  - job: Job
    steps:
    - script: Hey!

예제

이 예제에서는 세 단계를 차례로 실행합니다. 중간 단계는 두 작업을 동시에 실행합니다.

stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - script: echo Building!
- stage: Test
  jobs:
  - job: TestOnWindows
    steps:
    - script: echo Testing on Windows!
  - job: TestOnLinux
    steps:
    - script: echo Testing on Linux!
- stage: Deploy
  jobs:
  - job: Deploy
    steps:
    - script: echo Deploying the code!

이 예제에서는 두 단계를 병렬로 실행합니다. 간단히 하기 위해 작업 및 단계는 생략됩니다.

stages:
- stage: BuildWin
  displayName: Build for Windows
- stage: BuildMac
  displayName: Build for Mac
  dependsOn: [] # by specifying an empty array, this stage doesn't depend on the stage before it

추가 정보

단계, 조건 및 변수에 대해 자세히 알아봅니.