I am using yaml pipeline with azureDevops
I am try to use variable type step in my template
Below is my template file build.yml
parameters:
- name: dotnetrestore
type: step
default:
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
command: restore
projects: "**/*.csproj"
Is it possible to call this step variable from my main pipeline
For example here this example is doing within the same file. Below example i got from
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 }}
1 Answer
Of course we can use single task as step template. My start.yml is below.
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 }}
We can call this step variable from my main pipeline.
trigger:
- none
pool:
vmImage: 'windows-latest'
steps:
- template: start.yml
- script: echo step two
Update>>If you want to use dotnetcore step parameter in my main pipeline. The start.yml is below.
parameters:
- name: dotnetrestore # the name of the parameter
type: step # data type is Step
default:
script: echo This is default steps
steps:
- ${{ parameters.dotnetrestore }}
We can specify parameter for this step variable from main pipeline.
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