Continuous Delivery
GovWifi uses AWS CodeBuild and AWS CodePipeline for its continuous delivery.
GovWifi CI/CD history
Previously, the team was part of a multi-tenanted Concourse, known as Big Concourse, maintained by the GDS Automate team. Big Concourse was decommissioned on 15 December, 2021.
The team migrated to a single-tenanted Concourse, known as GovWifi Concourse, maintained by the GovWifi team and based
on the big-little-concourse
repo developed by the
Platform as a Service (PaaS) team.
Over the course of 2022 the team migrated to AWS CodePipeline & CodeBuild to align with Cabinet Office Digital tooling.
Currently, GovWifi CI / CD exists in Github Actions for Docs repositories and AWS CodePipeline & CodeBuild for AWS hosted services.
GovWifi CodePipeline & CodeBuild
GovWifi CodePipeline and CodeBuild tasks are configured in the following repository:
Updates to the CI/CD infrastructure configuration happen in Terraform code. Please follow the govwifi-terraform
README guidelines for contributing, updating, and deploying code changes.
Pipeline configuration exists in buildspec.yml
files in individual repos (here is an example for govwifi-admin
)
Deploy using CodeBuild
The deployment documentation for Frontend FreeRADIUS code, GovWifi APIs, and Admin app requires access to Google Drive.
Use the following instructions for deployment:
Deployment access
A team member must be added as an admin to the govwifi-tools
user account in the tech-ops-private
repo in order to access and deploy pipelines in the AWS console. If you don’t have access ask in the #govwif Slack channel to be onboarded.
Once this onboarding is complete then team members can log in to the AWS console as the govwifi-tools
user:
$ gds aws govwifi-tools -l
Monitor deployments
GovWifi CodePipeline & CodeBuild use built-in AWS monitoring for general observability of its infrastructure.
You must be on the VPN and have access to the AWS console to access the monitoring.
Log in as the govwifi-tools
user and navigate to AWS CloudWatch to view metrics about the deploy process and pipelines.