Promote Image¶
Deploy a new image tag to a tenant environment.
Purpose¶
Deploy a specific image tag to one or all tenant environments by triggering do-deploy.yml workflow dispatch.
When to use¶
- Rolling out a new release to staging or production
- Re-deploying an older tag (rollback)
- Promoting a staging-validated tag to production
Steps¶
Deploy latest release to a tenant¶
- Go to
unipuka/soa-> Actions ->do-deploy.yml-> Run workflow - Set
tag= desired image tag (e.g.v1.2.3or git SHA) - Set
tenant=oep-stg/mansety-prd/us-prd - For prod tenants: reviewer approval required before workflow proceeds
- Workflow commits
chore(deploy): bump <tenant> to <tag>tounipuka-infra-ops/master - Argo CD detects change within 3 min, runs PreSync migrate Job, then rolls Deployments
Re-deploy an older tag (rollback)¶
If the image tag is still in DOCR (within 30-tag retention window):
# Dispatch with the older tag
gh workflow run do-deploy.yml -R unipuka/soa \
-f tag=v1.1.0 -f tenant=oep-stg
If image was GC'd from DOCR (beyond 30-tag window), rebuild first:
# Rebuild image from historical commit
gh workflow run do-build.yml -R unipuka/soa \
-f ref=<git-sha-or-tag>
# Then deploy as normal
DOCR retention¶
Weekly GC keeps last 30 tagged images per repo. Images beyond 30 are deleted. Rebuild + republish any tag using do-build.yml ref input.
Rollback¶
Git revert the deploy commit in unipuka-infra-ops/master - Argo CD prune + selfHeal will re-sync the previous tag.
V&V¶
argocd app get <tenant>-laravelshows new image tag andSynced/Healthykubectl get pods -n <tenant>allRunningwith new imagecurl https://<hostname>/healthreturns 200