Backport changes from Regent House application
Backport the following changes from Regent House:
- Output JSON-formatted logs in production (https://gitlab.developers.cam.ac.uk/uis/devops/regent-house-ballots/ballots-webapp/-/commit/8be5dede79d14a802f11a19c3008213ebd3b7e6d)
- Only create a single GitLab container registry so that expiration policies actually work (https://gitlab.developers.cam.ac.uk/uis/devops/regent-house-ballots/ballots-webapp/-/commit/ed192e7a98e9f87ad86e9670947b781533c4f0d8)
- Add automated release management (https://gitlab.developers.cam.ac.uk/uis/devops/regent-house-ballots/ballots-webapp/-/commit/19c26656c1b214dd4a3d9b875b5b221bdddc3fed)
- Add commitlint support (https://gitlab.developers.cam.ac.uk/uis/devops/regent-house-ballots/ballots-webapp/-/commit/67c6a1d6c835c1f7d45c7248c9c6bcdc41770b03)