Skip to main content
Table of contents

Application: content-publisher

Publishing application for GOV.UK

AWS, on the backend machine class
Continuously deployed?
Rake tasks
Integration, Staging or ⚠️ Production ⚠️

Imported documents

Example pages published by content-publisher


A unified publishing application for content on GOV.UK


  • Content - Some text (and related fields) a user wants to publish
  • Revision - A version of a piece of content in a particular locale
  • Edition - A revision that is in the Publishing API
  • Document - All revisions of a piece of content in a particular locale

Technical documentation

This is a Ruby on Rails application.


  • postgresql - provides a backing database
  • redis - used as a storage layer for asynchronous job processing
  • yarn - package manager for JavaScripts
  • imagemagick - image manipulation library

Running the application

The first time you run this application for development, enable debug and pre_release_features permissions:

bundle exec rake development_permissions

To enable them for your GOV.UK account add them to your account in Signon.

Running the test suite

yarn install

# ruby tests
bundle exec rspec

# JS tests (in console, or in browser)
bundle exec rake jasmine:ci
bundle exec rake jasmine

Our test environment is setup to render 'real' error pages, instead of raising an exception. This can make it hard to debug a test failure, as the actual error won't appear in the test output. Instead, you can see it in log/test.log.

Further documentation


MIT License