Skip to main content

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.

  1. Push your changes to a branch and raise a PR
  2. Github Actions will attempt to build the app.
  3. 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

  1. Merge your development branch to master.
  2. Github Actions will build + deploy to Github Pages.
  3. Verify contents is deployed (you may need to open an incognito window to clear your cache).
This page was last reviewed on 20 July 2024. It needs to be reviewed again on 20 January 2025 by the page owner #govwifi .