Concourse is a continuous integration and continuous deployment system similar to Jenkins.
The Reliability Engineering team runs a hosted Concourse service for all GDS teams.
Concourse is built on the concept of pipelines. Each pipeline can be compared to a collection of related Jenkins jobs. Pipelines consist of multiple jobs and resources. Jobs are collections of commands that are run, and are stateless since they are run inside disposable Docker containers. All state needs to be stored and read from resources, which may be a git repository, an AWS S3 bucket or another storage medium. Triggers allow changes to resources to start a job, and jobs can trigger other jobs.
To log in to Concourse, you need to be a member of the GOV.UK Production GitHub team
GOV.UK currently has one team named govuk-tools.
The operations pipeline
We currently use the
operations pipeline to mirror all GOV.UK GitHub repositories to AWS CodeCommit.
The info pipeline
info pipeline is a meta pipeline. Its main use is as a method to store secrets that can then be used in other pipelines. For example, the repository mirroring job uses GitHub and AWS credentials that are stored as secrets using this method.
In order to add or change secrets:
- If this is your first time using Concourse, download the
flyCLI by clicking the appropriate OS logo at the bottom right corner of the team page and move it to somewhere in your
- Go to the info pipeline
- Click the show available pipeline variables job
- In the top right corner, click the plus button - this starts a new build of the job
- After a few seconds, you’ll see console output in the
- The console output will give instructions about how to connect to the temporary Docker container that has been created and add or change secrets