我正在使用带有 azureDevops 的 yaml 管道
我尝试在我的模板中使用变量类型步骤
下面是我的模板文件 build.yml
parameters:
- name: dotnetrestore
type: step
default:
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
command: restore
projects: "**/*.csproj"
是否可以从我的主管道中调用此步骤变量
例如这里这个例子是在同一个文件中做的。下面的例子是我从 https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#variable-reuse
得到的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 }}
答案 0 :(得分:0)
当然我们可以使用单个任务作为 step template。我的 start.yml 在下面。
parameters:
- name: dotnetrestore # the name of the parameter
type: step # data type is Step
default:
task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
command: restore
projects: "**/*.csproj"
steps:
- ${{ parameters.dotnetrestore }}
我们可以从我的主管道中调用这个步骤变量。
trigger:
- none
pool:
vmImage: 'windows-latest'
steps:
- template: start.yml
- script: echo step two
更新>>如果您想在我的主管道中使用 dotnetcore 步骤参数。 start.yml 在下面。
parameters:
- name: dotnetrestore # the name of the parameter
type: step # data type is Step
default:
script: echo This is default steps
steps:
- ${{ parameters.dotnetrestore }}
我们可以从主管道中为此步骤变量指定参数。
trigger:
- none
pool:
vmImage: 'windows-latest'
steps:
- template: start.yml
parameters:
dotnetrestore:
task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
command: restore
projects: "**/*.csproj"
- script: echo step two