-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
145 lines (132 loc) · 4.8 KB
/
azure-pipelines.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
name: $(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(BuildCounter)
parameters:
- name: ContinueEvenIfResourcesAreGettingDestroyed
displayName: "Continue even if resources will be destroyed"
type: boolean
default: false
- name: SkipDependencyCheck
displayName: "Skip dependency check"
type: boolean
default: false
trigger:
- main
- release/*
- develop
pool: $(DeploymentPool)
variables:
- name: BuildCounter
value: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 1)]
- name: Container
value: "ukhydrographicoffice/terraform-azure-powershell:1.3.7"
- name: DeploymentPool
value: "Mare Nectaris"
- name: WindowPool
value: "NautilusBuild"
- name: NodeVersion
value: 22.x
resources:
repositories:
- repository: UKHOTemplates
type: github
name: UKHO/devops-pipelinetemplates
endpoint: UKHO
ref: refs/heads/main
stages:
- stage: BuildTestPublish
displayName: "Build, test and publish"
dependsOn: []
jobs:
- template: Deployment/templates/build-test-publish.yml
parameters:
SkipDependencyCheck: ${{ parameters.SkipDependencyCheck }}
Container: ${{ variables.Container }}
- stage: DevDeploy
dependsOn:
- BuildTestPublish
displayName: Dev deploy
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-Dev
ShortName: dev
RunFunctionalTests: true
RunE2eTests: true
RunAccessibilityTests: true
- stage: vNextIatDeploy
dependsOn:
- DevDeploy
displayName: vNext IAT deploy
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/develop'), startsWith(variables['Build.SourceBranch'], 'refs/heads/dev/')))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-vNext-IAT
ShortName: vNextIat
- stage: vNextE2eDeploy
dependsOn:
- vNextIatDeploy
displayName: vNext E2E deploy
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-vNext-E2E
ShortName: vNextE2e
- stage: IatDeploy
dependsOn:
- DevDeploy
displayName: IAT deploy
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-IAT
ShortName: Iat
- stage: PreProdDeploy
dependsOn:
- IatDeploy
displayName: PreProd deploy
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-PreProd
ShortName: PreProd
- stage: QaDeploy
dependsOn:
- DevDeploy
displayName: QA deploy
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-QA
ShortName: QA
RunFunctionalTests: true
RunE2eTests: true
RunAccessibilityTests: true
- stage: LiveDeploy
dependsOn:
- QaDeploy
displayName: Live deploy
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')))
jobs:
- template: Deployment/templates/continuous-deployment.yml
parameters:
ContinueEvenIfResourcesAreGettingDestroyed: ${{ parameters.ContinueEvenIfResourcesAreGettingDestroyed }}
Container: ${{ variables.Container }}
AzureDevOpsEnvironment: FSS-Live
ShortName: prod
RetainPipeline: true