Skip to content

Commit 5fb7971

Browse files
Merge branch 'dev' into user/steven.williams/LEGLINK-958
2 parents 7f6fcf8 + 3ceee7e commit 5fb7971

19 files changed

Lines changed: 2243 additions & 125 deletions

Azure_Pipelines/_deploy_all_services.yml

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pool:
99

1010
parameters:
1111
- name: environment
12-
displayName: Which environment is this for? (DEV | TEST | QA)
12+
displayName: Which environment is this for? (DEV | TEST | QA | QA2)
1313
type: string
1414
values:
1515
- dev-scale
@@ -80,9 +80,140 @@ jobs:
8080
artifact: 'deploy-changes-$(kube_namespace)'
8181
publishLocation: 'pipeline'
8282

83-
- job: Deploy
83+
- job: ValidateImages
8484
dependsOn: Summarize
8585
condition: succeeded()
86+
displayName: Validate all container images
87+
pool:
88+
vmImage: 'ubuntu-latest'
89+
90+
strategy:
91+
matrix:
92+
account:
93+
serviceName: account
94+
repoName: account
95+
96+
admin:
97+
serviceName: admin
98+
repoName: admin
99+
100+
admin-ui:
101+
serviceName: admin-ui
102+
repoName: admin-ui
103+
104+
audit:
105+
serviceName: audit
106+
repoName: audit
107+
108+
automation:
109+
serviceName: automation
110+
repoName: automation
111+
112+
census:
113+
serviceName: census
114+
repoName: census
115+
116+
data-acquisition:
117+
serviceName: data-acquisition
118+
repoName: dataacquisition
119+
120+
data-acquisition-worker:
121+
serviceName: data-acquisition-worker
122+
repoName: dataacquisition-worker
123+
124+
measure-eval:
125+
serviceName: measure
126+
repoName: measureeval
127+
128+
normalization:
129+
serviceName: normalization
130+
repoName: normalization
131+
132+
query-dispatch:
133+
serviceName: query-dispatch
134+
repoName: querydispatch
135+
136+
report:
137+
serviceName: report
138+
repoName: report
139+
140+
submission:
141+
serviceName: submission
142+
repoName: submission
143+
144+
tenant:
145+
serviceName: tenant
146+
repoName: tenant
147+
148+
terminology:
149+
serviceName: terminology
150+
repoName: terminology
151+
152+
validation:
153+
serviceName: validation
154+
repoName: validation
155+
156+
mock-dmrp:
157+
serviceName: mock-dmrp
158+
repoName: mock-dmrp
159+
160+
steps:
161+
162+
- task: Bash@3
163+
displayName: 'Determine image tag'
164+
inputs:
165+
targetType: inline
166+
script: |
167+
set -e
168+
169+
GIT_COMMIT=$(git rev-parse --short HEAD)
170+
IMAGE_TAG="$(Build.SourceBranchName)-${GIT_COMMIT}"
171+
172+
echo "Git commit: ${GIT_COMMIT}"
173+
echo "Image tag: ${IMAGE_TAG}"
174+
175+
echo "##vso[task.setvariable variable=GIT_COMMIT]${GIT_COMMIT}"
176+
echo "##vso[task.setvariable variable=IMAGE_TAG]${IMAGE_TAG}"
177+
178+
- task: AzureCLI@2
179+
displayName: 'Validate image exists for $(serviceName)'
180+
inputs:
181+
azureSubscription: 'NHSNLink-RG ARM'
182+
scriptType: bash
183+
scriptLocation: inlineScript
184+
inlineScript: |
185+
set -e
186+
187+
IMAGE_REPO="link-$(repoName)"
188+
IMAGE_TAG="$(IMAGE_TAG)"
189+
190+
echo "=========================================="
191+
echo "Validating container image"
192+
echo "=========================================="
193+
echo "Service: $(serviceName)"
194+
echo "Repository: ${IMAGE_REPO}"
195+
echo "Tag: ${IMAGE_TAG}"
196+
echo "Full image: $(containerRegistry)/${IMAGE_REPO}:${IMAGE_TAG}"
197+
echo "=========================================="
198+
199+
if ! az acr repository show \
200+
--name "$(containerRegistry)" \
201+
--image "${IMAGE_REPO}:${IMAGE_TAG}" \
202+
--output none; then
203+
204+
echo "##vso[task.logissue type=error]Image does NOT exist in ACR:"
205+
echo "##vso[task.logissue type=error]$(containerRegistry)/${IMAGE_REPO}:${IMAGE_TAG}"
206+
echo "##vso[task.logissue type=error]Deployment has been stopped for $(serviceName)."
207+
208+
exit 1
209+
fi
210+
211+
echo "Image exists in ACR."
212+
213+
214+
- job: Deploy
215+
dependsOn: ValidateImages
216+
condition: succeeded()
86217
displayName: Deploy multiple services
87218
pool:
88219
vmImage: 'ubuntu-latest'

0 commit comments

Comments
 (0)