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 Environment
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 and Production Environment
## 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.
For more advanced uses of the PaaS that are not covered in the PaaS internal documentation (e.g. provisioning an app using a buildpack that is not Ruby or Java), refer to the Cloud Foundry documentation.