Skip to content

Commit 93930d3

Browse files
committed
feat: enhance deployment scripts for API and UI with package publishing and promotion logic
1 parent 07e316a commit 93930d3

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

.azdo/pipelines/azure-dev.yml

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,31 @@ stages:
337337
scriptType: bash
338338
scriptLocation: inlineScript
339339
inlineScript: |
340-
azd deploy --no-prompt
340+
set -euo pipefail
341+
342+
REGISTRY_ENDPOINT=$(azd env get-values | sed -n 's/^AZURE_CONTAINER_REGISTRY_ENDPOINT="\(.*\)"/\1/p')
343+
if [[ -z "${REGISTRY_ENDPOINT}" ]]; then
344+
echo "Unable to resolve AZURE_CONTAINER_REGISTRY_ENDPOINT from azd environment."
345+
exit 1
346+
fi
347+
348+
API_PACKAGE="${REGISTRY_ENDPOINT}/fake-survey-generator/fake-survey-generator-api:$(apiSemVerVersionTag)"
349+
UI_PACKAGE="${REGISTRY_ENDPOINT}/fake-survey-generator/fake-survey-generator-ui:$(uiSemVerVersionTag)"
350+
351+
echo "Publishing API package: ${API_PACKAGE}"
352+
azd publish api --to "${API_PACKAGE}" --no-prompt
353+
354+
echo "Publishing UI package: ${UI_PACKAGE}"
355+
azd publish ui --to "${UI_PACKAGE}" --no-prompt
356+
357+
echo "##vso[task.setvariable variable=apiPackageRef]${API_PACKAGE}"
358+
echo "##vso[task.setvariable variable=uiPackageRef]${UI_PACKAGE}"
359+
360+
echo "Deploying preview API from package"
361+
azd deploy api --from-package "${API_PACKAGE}" --no-prompt
362+
363+
echo "Deploying preview UI from package"
364+
azd deploy ui --from-package "${UI_PACKAGE}" --no-prompt
341365
env:
342366
AZURE_SUBSCRIPTION_ID: $(azureSubscriptionId)
343367
AZURE_ENV_NAME: $(azureEnvName)
@@ -412,7 +436,18 @@ stages:
412436
scriptType: bash
413437
scriptLocation: inlineScript
414438
inlineScript: |
415-
azd deploy --no-prompt
439+
set -euo pipefail
440+
441+
if [[ -z "${API_PACKAGE_REF}" || -z "${UI_PACKAGE_REF}" ]]; then
442+
echo "Package references are not available for promotion deployment."
443+
exit 1
444+
fi
445+
446+
echo "Promoting API from package: ${API_PACKAGE_REF}"
447+
azd deploy api --from-package "${API_PACKAGE_REF}" --no-prompt
448+
449+
echo "Promoting UI from package: ${UI_PACKAGE_REF}"
450+
azd deploy ui --from-package "${UI_PACKAGE_REF}" --no-prompt
416451
env:
417452
AZURE_SUBSCRIPTION_ID: $(azureSubscriptionId)
418453
AZURE_ENV_NAME: $(azureEnvName)
@@ -426,6 +461,8 @@ stages:
426461
API_ACTIVE_LABEL: $(apiActiveLabel)
427462
API_PROMOTE_PREVIEW: "true"
428463
API_PRODUCTION_REVISION_NAME: ""
464+
API_PACKAGE_REF: $(apiPackageRef)
465+
UI_PACKAGE_REF: $(uiPackageRef)
429466
VITE_APP_VERSION: $(uiSemVerVersionTag)
430467

431468
- stage: Database_Deployment

0 commit comments

Comments
 (0)