Skip to main content
Docs

15. Deploy-System

Cloudflare Pages als Hosting-Backend.

DBCloudflare Pages APIhtml-generatorAPIWeb SPAUserDBCloudflare Pages APIhtml-generatorAPIWeb SPAUserloop[bis terminal]Click DeployPOST /api/projects/:id/deployCooldown-Check (60s)ownership + project-configgenerateStaticSite(db, projectId)SELECT pages, translationspro Page+Sprache: pipeline + renderBLAKE3-Hash pro FileSiteFile[]POST /accounts/:id/pages/projects/:cfName/deployment{ status: building }{ status: success, url }INSERT deployments{ deploymentId, url }
DBCloudflare Pages APIhtml-generatorAPIWeb SPAUserDBCloudflare Pages APIhtml-generatorAPIWeb SPAUserloop[bis terminal]Click DeployPOST /api/projects/:id/deployCooldown-Check (60s)ownership + project-configgenerateStaticSite(db, projectId)SELECT pages, translationspro Page+Sprache: pipeline + renderBLAKE3-Hash pro FileSiteFile[]POST /accounts/:id/pages/projects/:cfName/deployment{ status: building }{ status: success, url }INSERT deployments{ deploymentId, url }

Cloudflare-Project-Name wird deterministisch generiert: cms-{first6UserId}-{first6ProjectId}.

Custom Domain: POST .../domain { domain: "example.com" } → API legt CF-Zone an, gibt CNAME-Record zurück. User setzt DNS, ruft POST .../domain/verify. Status-Sync: pendingactive wenn DNS propagiert.

Rollback: Cloudflare-Pages hält die letzten N Deployments. POST .../deployments/:id/rollback setzt einen alten als aktiv.