Website Release Process
This document outlines the automated release train for the sddc.info website, powered by Cloudflare Pages and GitHub.
Overview
The website employs a Git-flow methodology using two primary, long-lived branches within the sddcinfo/website
repository. Each branch is linked to a distinct environment on Cloudflare Pages, enabling a safe and efficient promotion path from development to the live production site.
- Staging Environment: Deployed from the
staging
branch to dev.sddc.info. This environment is used for testing and validating changes. - Production Environment: Deployed from the
main
branch to sddc.info. This is the live, public-facing website.
The Value of Cloudflare Pages
Using Cloudflare Pages provides a robust, secure, and highly efficient platform for deploying modern web applications. It simplifies the entire CI/CD (Continuous Integration/Continuous Deployment) pipeline and offers several key advantages:
- Seamless Git Integration: Deployments are triggered automatically by a simple
git push
to a configured branch. This removes the need for complex, manual deployment steps. - Global Performance: The website is deployed directly to Cloudflare's global edge network, which spans hundreds of cities worldwide. This ensures that content is served from a location physically close to the user, resulting in exceptionally fast load times.
- Built-in Security: Every deployment is protected by Cloudflare's enterprise-grade security, including free, automatically renewing SSL certificates and robust DDoS mitigation.
- Collaborative Previews: The platform automatically generates unique, shareable preview URLs for every pull request. This allows stakeholders to review and validate changes in a production-like environment before they are merged.
- Simplified Toolchain: By connecting directly to a GitHub repository, Cloudflare Pages handles the building, deployment, and hosting, allowing developers to focus purely on the code.
Build & Deployment Settings
The following settings are applied globally to all deployments, including both production and staging environments.
- Build Command:
npm install && npm run build
- Build Output Directory:
public
Branch Control & Source Repository
The website's source code is hosted in the website
GitHub repository. Cloudflare Pages is configured to deploy specific branches to their corresponding environments.
- Production Branch: The
main
branch is deployed to the production environment. - Staging Branch: The
staging
branch is deployed to the staging (preview) environment. - Pull Request Previews: Automatically generating preview deployments for pull requests is Enabled.
Promotion Path
The process for promoting changes from a feature branch to the live production site is as follows:
- A developer creates a new feature branch from the local
staging
branch. - Once work is complete, a pull request is opened on GitHub to merge the feature branch back into
staging
. - After the PR is merged, the changes are automatically deployed to the staging environment for final review.
- To promote the changes to production, a new pull request is opened from
staging
tomain
. - Once this final PR is approved and merged by an authorized user, the changes are automatically deployed to the production site.