pipeline.parameters.parameter 定义

参数表示传递给管道的值。

parameters:
- name: string # Required as first property.
  displayName: string # Human-readable name for the parameter.
  type: string
  default: string | parameters | [ parameters ] # Default value; if no default, then the parameter MUST be given by the user at runtime.
  values: [ string ] # Allowed list of values (for some data types).
parameters:
- name: string # Required as first property.
  displayName: string # Human-readable name for the parameter.
  type: string
  default: string | parameters | [ parameters ]
  values: [ string ]

引用此定义的定义:参数

性能

name 字符串。 必需为第一个属性。

displayName 字符串。
参数的可读名称。

type 字符串。
请参阅 类型

type 字符串。
布尔值 |部署 |deploymentList |环境 |filePath |job |jobList |number |object |池 |secureFile |serviceConnection |阶段 |stageList |步骤 |stepList |字符串。

default 参数。
默认值;如果没有 default,则参数必须由用户在运行时提供。

values 字符串列表。
允许的值列表(适用于某些数据类型)。

言论

type定义参数时需要字段和name字段。 详细了解 参数数据类型

parameters:
- name: string          # name of the parameter; required
  type: enum            # see the enum data types in the following section
  default: any          # default value; if no default, then the parameter MUST be given by the user at runtime
  values: [ string ]    # allowed list of values (for some data types)

类型

type 值必须是下表中 enum 成员之一。

数据类型 笔记
string 字符串
number 可以限制为 values:,否则接受任何类似数字的字符串
boolean truefalse
object 任何 YAML 结构
step 单个步骤
stepList 步骤序列
job 单个作业
jobList 作业序列
deployment 单个部署作业
deploymentList 部署作业序列
stage 单个阶段
stageList 阶段序列

步骤、stepList、job、jobList、deployment、deploymentList、stage 和 stageList 数据类型都使用标准 YAML 架构格式。 此示例包括字符串、数字、布尔值、对象、步骤和 stepList。

parameters:
  - name: myString
    type: string
    default: a string
  - name: myMultiString
    type: string
    default: default
    values:
      - default
      - ubuntu
  - name: myNumber
    type: number
    default: 2
    values:
      - 1
      - 2
      - 4
      - 8
      - 16
  - name: myBoolean
    type: boolean
    default: true
  - name: myObject
    type: object
    default:
      foo: FOO
      bar: BAR
      things:
        - one
        - two
        - three
      nested:
        one: apple
        two: pear
        count: 3
  - name: myStep
    type: step
    default:
      script: echo my step
  - name: mySteplist
    type: stepList
    default:
      - script: echo step one
      - script: echo step two

trigger: none

jobs: 
  - job: stepList
    steps: ${{ parameters.mySteplist }}
  - job: myStep
    steps:
      - ${{ parameters.myStep }}

例子

# File: azure-pipelines.yml
parameters:
- name: image
  displayName: Pool Image
  type: string
  default: ubuntu-latest
  values:
    - windows-latest
    - ubuntu-latest
    - macOS-latest

trigger: none

jobs:
  - job: build
    displayName: build
    pool: 
      vmImage: ${{ parameters.image }}
    steps:
      - script: echo The image parameter is ${{ parameters.image }}

使用参数扩展模板。 在此示例中,使用模板的管道提供要填充到模板中的值。

# File: simple-param.yml
parameters:
- name: yesNo # name of param; required
  type: boolean # data type of param; required
  default: false

steps:
- script: echo ${{ parameters.yesNo }}
# File: azure-pipelines.yml
trigger:
- main

extends:
    template: simple-param.yml
    parameters:
        yesNo: false 

使用模板定义参数,然后将这些参数传递给管道。

# File: template.yml 
parameters:
  - name: environment
    type: string
    default: 'production'

jobs:
- job: Deploy
  displayName: 'Deploy to ${{ parameters.environment }}'
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo "Deploying to ${{ parameters.environment }}"
    displayName: 'Deploy Step'
# File: azure-pipelines.yml
trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

jobs:
- template: template.yml
  parameters:
    environment: 'staging'

另请参阅

请参阅 模板 ,了解有关使用模板的详细信息。