-
-
Notifications
You must be signed in to change notification settings - Fork 1
6. Deployment
This project is currently setup to deploy to both GitHub Pages and Netlify. GitHub Pages is currently setup to deploy the main
branch, while Netlify is setup to deploy both the main
and staging
branches.
GitHub Pages serves as the primary site for the application, and is currently setup to deploy the main
branch, and is configured to use the gh-pages
branch as the source. This is done using the main.yml
file located in the .github/workflows
directory. This file is triggered by a push to the main
branch, and uses the GitHub Pages Deploy Action to deploy the application.
Additional, this project offers a more robust deployment solution using Netlify, which is currently being used to deploy both the main
and staging
branches to illustrate the flexibility of the deployment solution for both staging and production deployments.
This is achieved through the use of a netlify.toml
file for deployments to Netlify. This file is located in the root directory of the project, and is used to configure the build and deploy process for the application to Netlify. This file is used to specify the build command, publish directory, and other configurations for the deployment 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, and will automatically update the CHANGELOG.md file, commit the updated CHANGELOG.md file, tag the commit with the new version number, and update the package.json file with the new version number.
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
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.