Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Utöka en pipeline med hjälp av en mall.
extends:
template: string # The template referenced by the pipeline to extend.
parameters: # Parameters used in the extend.
Definitioner som refererar till den här definitionen: pipeline
Egenskaper
template
sträng.
Mallen som refereras av pipelinen för att utöka.
parameters
mallparametrar.
parametrar som används i tillägget.
Exempel
Mallar och deras parametrar omvandlas till konstanter innan pipelinen körs.
Mallparametrar ger typsäkerhet för indataparametrar.
I det här exemplet definierar mallen start.yml
parametern buildSteps
, som sedan används i azure-pipelines.yml
. Om ett buildStep skickas med ett skriptsteg avvisas det och pipelineversionen misslyckas.
# 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"