forked from microsoft/MCW-OSS-PaaS-and-DevOps
-
Notifications
You must be signed in to change notification settings - Fork 1
/
azure-pipelines-conditions-demo.yml
61 lines (51 loc) · 1.71 KB
/
azure-pipelines-conditions-demo.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
variables:
Version.Revision: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 0)]
name: '$(Build.DefinitionName) 1.0.0.$(Date:yy)$(DayOfYear)$(Version.Revision)'
parameters:
- name: DoJobOne
default: false
type: boolean
stages:
- stage: demo
jobs:
# Set an output variable from job One
- job: One
condition: eq('${{ parameters.DoJobOne }}', true)
pool:
vmImage: 'windows-2019'
steps:
- powershell: |
write-host "do not throw error"
echo "##vso[task.setvariable variable=JobOneRan;isOutput=true]true"
name: setvarStep
- script: |
echo $(setvarStep.JobOneRan)
name: echovariable
- job: Two
condition: and(always(), eq('${{ parameters.DoJobOne }}', eq(dependencies.One.outputs['setvarStep.JobOneRan'], true)))
dependsOn: One
pool:
vmImage: 'windows-2019'
variables:
myVariableFromJobOne: $[ dependencies.One.outputs['setvarStep.JobOneRan'] ]
steps:
- script: echo $(myVariableFromJobOne)
name: echovariable
- job: Three
condition: and(eq('${{ parameters.DoJobOne }}', false), ne(dependencies.One.outputs['setvarStep.JobOneRan'], 'true'))
dependsOn: One
pool:
vmImage: 'windows-2019'
variables:
myVariableFromJobOne: $[ dependencies.One.outputs['setvarStep.JobOneRan'] ]
steps:
- script: |
echo $(myVariableFromJobOne)
echo ${{ parameters.DoJobOne }}
name: echovariable