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:

  1. A developer creates a new feature branch from the local staging branch.
  2. Once work is complete, a pull request is opened on GitHub to merge the feature branch back into staging.
  3. After the PR is merged, the changes are automatically deployed to the staging environment for final review.
  4. To promote the changes to production, a new pull request is opened from staging to main.
  5. Once this final PR is approved and merged by an authorized user, the changes are automatically deployed to the production site.