Freigeben über


erweitert definition

Erweitern einer Pipeline mithilfe einer Vorlage

extends:
  template: string # The template referenced by the pipeline to extend.
  parameters: # Parameters used in the extend.

Definitionen, die auf diese Definition verweisen: Pipeline-

Eigenschaften

template Zeichenfolge.
Die Vorlage, auf die von der Pipeline verwiesen wird, die erweitert werden soll.

parameters Vorlagenparameter.
Parameter, die in der Erweiterung verwendet werden.

Beispiele

Vorlagen und deren Parameter werden vor der Ausführung der Pipeline in Konstanten umgewandelt. Vorlagenparameter bieten Typsicherheit für Eingabeparameter. In diesem Beispiel definiert die Vorlage start.yml den Parameter buildSteps, der dann in azure-pipelines.yml. Wenn ein BuildStep mit einem Skriptschritt übergeben wird, wird er abgelehnt, und der Pipelinebuild schlägt fehl.

# File: start.yml
parameters:
- name: buildSteps # the name of the parameter is buildSteps
  type: stepList # data type is StepList
  default: [] # default value of buildSteps
stages:
- stage: secure_buildstage
  pool:
    vmImage: windows-latest
  jobs:
  - job: secure_buildjob
    steps:
    - script: echo This happens before code 
      displayName: 'Base: Pre-build'
    - script: echo Building
      displayName: 'Base: Build'

    - ${{ each step in parameters.buildSteps }}:
      - ${{ each pair in step }}:
          ${{ if ne(pair.value, 'CmdLine@2') }}:
            ${{ pair.key }}: ${{ pair.value }}       
          ${{ if eq(pair.value, 'CmdLine@2') }}: 
            # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
            '${{ pair.value }}': error         

    - script: echo This happens after code
      displayName: 'Base: Signing'
# File: azure-pipelines.yml
trigger:
- main

extends:
  template: start.yml
  parameters:
    buildSteps:  
      - bash: echo Test #Passes
        displayName: succeed
      - bash: echo "Test"
        displayName: succeed
      # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
      - task: CmdLine@2
        inputs:
          script: echo "Script Test"
      # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
      - script: echo "Script Test"

Siehe auch