Release Center guide
Releasing code: staging โ production
The Release Center is the single place for all code movement. Develop on staging, test it, then promote.
The flow
- Develop on staging โ every app has a staging twin at
staging.<app>.ivydigitals.com(basic auth, userstaging). The dev server working directories ARE the git repos. - Push to Gitea โ git.ivydigitals.com (private repos under
ivyadmin/). - Open the Release Center โ releases.ivydigitals.com (basic auth, user
admin). - Click "โฌ Promote to Production" โ the pipeline: clone from Gitea โ snapshot current (for rollback) โ deploy code โ restart services โ health gate. If health fails, the rollback button restores the snapshot.
- Watch the job log live in the portal; the release history records who, when, which commit, and the result.
Rollback
One click in the Release Center: โฉ Rollback restores the snapshot taken before the last promote and restarts the app. Use it whenever production misbehaves after a release.
What "promote" does per app
- Node apps (lumen, launchpad, ivyos): npm/pnpm install + native module rebuild + PM2 restart
- Docker apps (one, infinity, ppm, pulsehr, einv): container restart or compose rebuild
- WordPress: file sync (uploads + wp-config untouched) + cache flush
Safety rails
- Health gate after every deploy (HTTP check of the production URL)
- Automatic snapshot before every deploy = always one restore point back
- Release history = full audit trail (app, action, commit, actor, result, timestamps)
- Staging is auth-gated + noindexed โ search engines never see it
IVY Digital ยท docs.ivydigitals.com ยท generated 2026-10-01 ยท Release Center ยท Gitea