Deploy applications
Deploying 9 systems out at the same time can be a non-trivial task. This should help explain how we do it.
AWS Codepipeline
Deploying GovWifi is achieved via AWS Codepipeline and Codebuild. The code for this is found in the govwifi-deploy module of the govwifi-terraform repo.
Core services
This document contains in depth instructions for deploying the core GovWifi services. You will need to be a member of the GovWifi team to access these instructions.
This covers the:
- Admin site
- Authentication API
- Logging API
When the deployment is complete the ECS service will automatically be restarted.
Instructions for deploying the Frontend RADIUS service can be found here. You will need to be a member of the GovWifi team to access these instructions.
Docs and the product page
The Dev Docs, Tech Docs, and Product Page use a static site generator called Middleman. They are hosted on Github Pages.
Production
Each repo has it’s own Github actions workflow which both tests and deploys to [Github Pages][https://docs.github.com/en/pages], when a PR is created it will run a test then when a PR is pushed to the master
branch it will deploy to github pages. Example from our dev-docs.
Trigger a test build.
- Push your changes to a branch and raise a PR
- Github Actions will attempt to build the app.
- if successful a green tick will appear next to the PR, this is useful to identify if Dependabot changes will affect the build.
Trigger a deployment
- Merge your development branch to
master
. - Github Actions will build + deploy to Github Pages.
- Verify contents is deployed (you may need to open an incognito window to clear your cache).