Promote Code Through Dev, Stage, and Production
Cloudberrie uses three Git branches and three separate Cloudflare Pages projects.
| Git branch | Cloudflare project | Purpose |
|---|---|---|
develop | cb-<project>-dev | Active development and internal testing |
staging | cb-<project>-stage | QA and release-candidate validation |
main | cb-<project> | Production release |
Important Cloudflare terminologyβ
Cloudflare labels the primary branch deployment inside every Pages project as Production. Therefore, the deployment shown as βProductionβ inside cb-studio-board-dev is the production deployment of the development Pages project. It is not the Cloudberrie live production environment.
A *.pages.dev URL is publicly hosted by Cloudflare and can be opened from other devices. Public accessibility does not change its lifecycle classification as Development or Staging.
Promote develop to stagingβ
Pull-request workflow is preferred:
- In GitHub, create a pull request.
- Set base to
staging. - Set compare to
develop. - Review the changed files and checks.
- Merge the pull request.
- Verify the staging Pages deployment and URL.
Command-line alternative:
git switch develop
git pull origin develop
git switch staging
git pull origin staging
git merge develop
git push origin staging
Promote staging to productionβ
After QA approval:
- Create a pull request with base
mainand comparestaging. - Confirm the exact release candidate was validated.
- Merge the pull request.
- Verify the production deployment and custom domain.
Command-line alternative:
git switch staging
git pull origin staging
git switch main
git pull origin main
git merge staging
git push origin main
Verification checklistβ
- Working tree is clean before switching branches.
- Dev URL reflects the latest
developcommit. - Stage URL reflects the promoted
stagingcommit. - Authentication and Firestore data are validated in staging.
- No sample data appears in production mode.
- Material icons load as icons rather than text.
- Production release is performed only after approval.