Deployments for data.gov.uk
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 https://plugins.cloudfoundry.org 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.