stages.stage definition

Phasen sind eine Sammlung verwandter Aufträge. Standardmäßig werden Phasen sequenziell ausgeführt. Jede Phase beginnt nur nach Abschluss der vorherigen Phase, sofern nicht anderweitig über die dependsOn Eigenschaft angegeben.

stages:
- stage: string # Required as first property. ID of the stage. 
  displayName: string # Human-readable name for the stage. 
  pool: 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 # Stage-specific variables
  jobs: [ job | deployment | template ]

Eigenschaften, die diese Definition verwenden: Phasen

Eigenschaften

stage

Zeichenfolge

Erforderlich als erster Parameter. ID der Phase.

displayName

Zeichenfolge

Der menschlich lesbare Name für die Phase.

pool

Pool

Pool, in dem Aufträge in dieser Phase ausgeführt werden, sofern nicht anders angegeben.

dependsOn

Zeichenfolgen- oder Zeichenfolgenliste

Alle Phasen, die vor diesem Vorgang abgeschlossen werden müssen.

condition

Zeichenfolge

Bewerten Sie diesen Bedingungsausdruck, um zu bestimmen, ob diese Phase ausgeführt werden soll.

variables

variables

Phasenspezifische Variablen.

jobs

jobs

Aufträge, die die Phase bilden.

stages:
- stage: string # Required as first property. ID of the stage. 
  displayName: string # Human-readable name for the stage. 
  pool: 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 # Stage-specific variables
  jobs: [ job | deployment | template ]

Eigenschaften, die diese Definition verwenden: Phasen

Eigenschaften

stage

Zeichenfolge

Erforderlich als erster Parameter. ID der Phase.

displayName

Zeichenfolge

Der menschlich lesbare Name für die Phase.

pool

Pool

Pool, in dem Aufträge in dieser Phase ausgeführt werden, sofern nicht anders angegeben.

dependsOn

Zeichenfolgen- oder Zeichenfolgenliste

Alle Phasen, die vor diesem Vorgang abgeschlossen werden müssen.

condition

Zeichenfolge

Bewerten Sie diesen Bedingungsausdruck, um zu bestimmen, ob diese Phase ausgeführt werden soll.

variables

variables

Phasenspezifische Variablen.

jobs

jobs

Aufträge, die die Phase bilden.

stages:
- stage: string # Required as first property. ID of the stage. 
  displayName: string # Human-readable name for the stage. 
  pool: 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 # Stage-specific variables
  jobs: [ job | deployment | template ]
  lockBehavior: string # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.  (runLatest,sequential)
  templateContext:  # Stage related information passed from a pipeline when extending a template. See remarks for more information.

Eigenschaften, die diese Definition verwenden: Phasen

Eigenschaften

stage

Zeichenfolge

Erforderlich als erster Parameter. ID der Phase.

displayName

Zeichenfolge

Der menschlich lesbare Name für die Phase.

pool

Pool

Pool, in dem Aufträge in dieser Phase ausgeführt werden, sofern nicht anders angegeben.

dependsOn

Zeichenfolgen- oder Zeichenfolgenliste

Alle Phasen, die vor diesem Vorgang abgeschlossen werden müssen.

condition

Zeichenfolge

Bewerten Sie diesen Bedingungsausdruck, um zu bestimmen, ob diese Phase ausgeführt werden soll.

variables

variables

Phasenspezifische Variablen.

jobs

jobs

Aufträge, die die Phase bilden.

lockBehavior

Zeichenfolge

Verhaltenssperranforderungen aus dieser Phase sollten im Zusammenhang mit anderen exklusiven Sperranforderungen angezeigt werden.

templateContext

templateContext

Phasenbezogene Informationen, die von einer Pipeline übergeben wurden, wenn eine Vorlage erweitert wird. Weitere Informationen finden Sie im Abschnitt "Hinweise".

stages:
- stage: string # Required as first property. ID of the stage. 
  displayName: string # Human-readable name for the stage. 
  pool: 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 # Stage-specific variables
  jobs: [ job | deployment | template ]
  lockBehavior: string # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.  (runLatest,sequential)
  templateContext:  # Stage related information passed from a pipeline when extending a template. See remarks for more information.

Eigenschaften, die diese Definition verwenden: Phasen

Eigenschaften

stage

Zeichenfolge

Erforderlich als erster Parameter. ID der Phase.

displayName

Zeichenfolge

Der menschlich lesbare Name für die Phase.

pool

Pool

Pool, in dem Aufträge in dieser Phase ausgeführt werden, sofern nicht anders angegeben.

dependsOn

Zeichenfolgen- oder Zeichenfolgenliste

Alle Phasen, die vor diesem Vorgang abgeschlossen werden müssen.

condition

Zeichenfolge

Bewerten Sie diesen Bedingungsausdruck, um zu bestimmen, ob diese Phase ausgeführt werden soll.

variables

variables

Phasenspezifische Variablen.

jobs

jobs

Aufträge, die die Phase bilden.

lockBehavior

Zeichenfolge

Verhaltenssperranforderungen aus dieser Phase sollten im Zusammenhang mit anderen exklusiven Sperranforderungen angezeigt werden.

templateContext

templateContext

Phasenbezogene Informationen, die von einer Pipeline übergeben wurden, wenn eine Vorlage erweitert wird. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Bemerkungen

Verwenden Sie Genehmigungsprüfungen , um manuell zu steuern, wann eine Phase ausgeführt werden soll. Diese Überprüfungen werden häufig verwendet, um Bereitstellungen in Produktionsumgebungen zu steuern.

Überprüfungen sind ein Mechanismus, der dem Ressourcenbesitzer zur Verfügung steht. Sie steuern, wann eine Phase in einer Pipeline eine Ressource nutzt. Als Besitzer einer Ressource wie einer Umgebung können Sie Prüfungen definieren, die vor einer Phase erforderlich sind, die die Ressource verbraucht.

Derzeit werden manuelle Genehmigungsprüfungen in Umgebungen unterstützt. Weitere Informationen finden Sie unter Genehmigungen.

Exklusive Sperre

In YAML-Pipelines werden Prüfungen verwendet, um die Ausführung von Phasen auf geschützten Ressourcen zu steuern. Eine der allgemeinen Überprüfungen, die Sie verwenden können, ist eine exklusive Sperrprüfung. Mit dieser Überprüfung können Nur eine einzelne Ausführung aus der Pipeline fortgesetzt werden. Wenn mehrere Ausführungen versuchen, gleichzeitig eine Umgebung bereitzustellen, bricht die Überprüfung alle alten Ausführungen ab und ermöglicht die Bereitstellung der neuesten Ausführung.

Sie können das Verhalten der exklusiven Sperrprüfung mithilfe der lockBehavior Eigenschaft konfigurieren, die zwei Werte enthält:

  • runLatest - Nur die neueste Ausführung erhält die Sperre an die Ressource. Dies ist der Standardwert, wenn kein lockBehavior Wert angegeben wird.
  • sequential – Alle Ausführungen erwerben die Sperre sequenziell an die geschützte Ressource.

Das Abbrechen alter Ausführungen ist ein guter Ansatz, wenn Ihre Versionen kumuliert sind und alle Codeänderungen aus früheren Ausführungen enthalten. Es gibt jedoch einige Pipelines, in denen Codeänderungen nicht kumuliert sind. Durch die Konfiguration der lockBehavior Eigenschaft können Sie festlegen, dass alle Ausführungen fortgesetzt und sequenziell in einer Umgebung bereitgestellt werden können, oder das vorherige Verhalten des Abbrechens alter Ausführungen beibehalten und nur das neueste zulassen. Ein Wert von sequential bedeutet, dass alle Ausführungen die Sperre sequenziell an die geschützte Ressource erwerben. Ein Wert von runLatest bedeutet, dass nur die neueste Ausführung die Sperre für die Ressource erhält.

Führen Sie die folgenden Schritte aus, um die exklusive Sperrprüfung mit sequential Bereitstellungen zu verwenden, oder runLatestführen Sie die folgenden Schritte aus:

  1. Aktivieren Sie die exklusive Sperrprüfung für die Umgebung (oder eine andere geschützte Ressource).
  2. Geben Sie in der YAML-Datei für die Pipeline eine neue Eigenschaft namens lockBehavioran. Dies kann für die gesamte Pipeline oder für eine bestimmte Phase angegeben werden:

Auf einer Bühne festlegen:

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

Legen Sie die Pipeline fest:

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

Beispiele

In diesem Beispiel werden drei Phasen nacheinander ausgeführt. In der mittleren Phase werden zwei Aufträge parallel ausgeführt.

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!

In diesem Beispiel werden zwei Phasen parallel ausgeführt. Für Kürze werden die Aufträge und Schritte weggelassen.

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

Weitere Informationen

Erfahren Sie mehr über Phasen, Bedingungen und Variablen.