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

  1. Develop on staging โ€” every app has a staging twin at staging.<app>.ivydigitals.com (basic auth, user staging). The dev server working directories ARE the git repos.
  2. Push to Gitea โ€” git.ivydigitals.com (private repos under ivyadmin/).
  3. Open the Release Center โ€” releases.ivydigitals.com (basic auth, user admin).
  4. 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.
  5. 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