A basic web app built with Angular and deployed as SPA with Firebase Hosting. Serves to demonstrate using multiple environments and triggering production deployment via GitHub Release.
Environments are defined in repository settings, secrets are defined separately per environment.
- production environment is triggered by
v*
tag pushed by creating GitHub Release - staging environment is automatically deployed on every push to
main
branch (e.g. after PR merge) - preview environments are deployed individually for every PR (a comment is posted with a URL which is unique to the branch)
In GitHub UI, create a new release. Create a new tag in the format vX.Y
(increment that last released version by 1). Generate release notes, select as latest release and publish. This will trigger a deployment to production.