1.7 KiB
1.7 KiB
Delivery Pipeline
Scope
Operational pipeline baseline for image build/push, staging deploy, production promotion, and rollback.
Registry Credentials Strategy
Use scoped Gitea secrets:
CMS_IMAGE_REGISTRYCMS_IMAGE_NAMESPACECMS_IMAGE_REGISTRY_USERCMS_IMAGE_REGISTRY_PASSWORD
Policy:
- credentials only in CI secrets
- no plaintext credentials in repo
- least privilege: push/pull for target namespace only
Build and Push Flow
- Workflow:
.gitea/workflows/release.yml - Trigger:
- tag push
vX.Y.Z - manual
workflow_dispatch
- tag push
- Steps:
- validate tag vs root
package.jsonversion - generate changelog
- docker login
- build and push
cms-webandcms-adminimages
- validate tag vs root
Staging Deployment Automation
- Workflow:
.gitea/workflows/deploy.yml - Manual input:
environment=stagingimage_tag=vX.Y.Z
- Remote deployment uses SSH + compose file:
docker-compose.staging.yml
Required secrets:
CMS_STAGING_HOSTCMS_STAGING_USERCMS_DEPLOY_KEYCMS_REMOTE_DEPLOY_PATH
Production Promotion and Rollback
Promotion:
- run deploy workflow with:
environment=productionimage_tag=vX.Y.Z
Rollback:
- release workflow supports rollback placeholder by image tag
- deploy workflow supports
rollback_taginput - recovery action:
- rerun deploy with previous known-good tag
Deployment Verification
After deploy:
- app health checks (web/admin)
- auth smoke flow
- i18n smoke flow
- critical route checks (
/,/login,/todo)
Notes
- Current workflows are production-oriented scaffolds and require secret provisioning in Gitea.
- Host hardening, network ACLs, and backup policy remain mandatory operational controls.