Skip to content

6. Deployment

Max Geller edited this page Oct 5, 2024 · 6 revisions

Deployment & Release Management

Overview

This project is currently deployed on Netlify, though configuration is underway to use GitHub Actions for deployment to GitHub Pages (which is the preferred deployment method).

The project contains a netlify.toml file for temporary deployments to Netlify, which is currently being used. Development is underway to transition to GitHub Pages deployment using GitHub Actions, which uses the main.yaml file located in the .github/workflows directory.

Production

The production build is deployed to the following URL: https://.netlify.app/, which uses the main branch, and is deployed automatically when changes are merged into the main branch. This is the default branch for the repository, and contains environment variables for the production-use Supabase project.

A staging build is deployed to the following URL: Staging for testing and validation before deployment to production. This build uses the staging branch, and is deployed automatically when changes are merged into the staging branch. This build uses the environment variables for the development Supabase project.

Release Process

The release process uses symantic versioning, and is managed using the standard-version package. This process is automated using the .releaserc.json file located in the root directory. This process is triggered by any merging into the main branch

This process will:

  • Update the CHANGELOG.md file
  • Commit the updated CHANGELOG.md file
  • Tag the commit with the new version number
  • Update the package.json file with the new version number
  • Push the new tag to the remote repository

Additionally, a custom script is run as part of the release process to automate the versioning of the environment variables in the angular-starter/src/environments directory. This script is located in the angular-starter/package.json file, and is run using the following command:

npm run release

Developer Footer

The application implements a developer footer that displays the current user's email address, UID, role type and the tenant they are in. This is useful for debugging and for ensuring that the application is working as expected. This footer is only displayed in both the development and staging environments, and is not displayed in the production environment.

Clone this wiki locally