Skip to main content
Last updated: 21 Dec 2023

govuk-sli-collector: Deployments

Target environment

This project only runs in production and only has the one target environment for deployments.

For this reason, deployment promotion between environments has no meaning for this project.

Automatic deployment

This project requires manual deployment. (This is because the automatic deployment Github user, govuk-ci, doesn't have permission to deploy directly to production since it's designed to deploy to integration and take advantage of deployment promotion.)

As with our other projects, when changes are merged, a new release tag is created. As we're deploying manually, there's technically no need to wait for that to complete, but it does make the action log easier to follow if we deploy releases.

How deployment works

Since the project is run from a scheduled task (a K8s CronJob), its deployment process differs slightly from that of our apps and some details might prove useful to be aware of if they're not already familiar to you.

Everytime it's run on its schedule, a new Pod will pull a new copy of this project's Docker image from ECR. This differs from the way apps work in that an app's long-running Pods are reprovisioned with the new image once, during the deployment itself.

Deploying to integration

Because the scheduled task only usually runs in production, some changes are required to enable a version to be deployed to integration (e.g. for testing),

(If you only need integration temporarily, don't forget to revert these changes when you're done.)