Table of contents

Deployments for

Continuous Integration

Travis is configured for both Publish (CI) and Find (CI) according to .travis.yml file in each repo. Each PR request should automatically build a Heroku Review App, which can be accessed from the PR page on GitHub.

Heroku Integration Env

Heroku has a pipeline for each of Publish and Find, with each app set to run in its ‘integration’ environment. Each pipeline has a permanent instance of the app, providing a common instance of Elasticsearch for us by the Find PR apps.

Each repo has a Procfile and an app.json file, which help to specify how the app is deployed. The environment variables ('Config Vars’) are then set via the website, both for the permanent app instance, and the review app template.

PaaS Staging/Prod Env

Publish and Find are provisioning on GOV.UK PaaS using Terraform. Each app repo contains a set of manifests that specify the container settings for when it’s deployed. You can deploy an app manually as follows.

## run once to install the plugin
cf add-plugin-repo CF-Community
cf install-plugin autopilot -r CF-Community -f

## manually deploy the publish app
cf zero-downtime-push publish-data-beta-staging -f staging-app-manifest.yml
cf zero-downtime-push publish-data-beta-staging-worker -f staging-worker-manifest.yml

Merging code into master triggers a deployment to the ’staging’ environment, but you can also do this manually as follows. A production deployment is triggered when a new GitHub release is created for the app.

This page was last reviewed . It needs to be reviewed again by the page owner #govuk-datagovuk.