Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


"Deploy the transit beam"


The Guardian's scala-based deployment system is designed to automate deploys by providing a web application that performs and records deploys, as well as providing various integration points for automating deployment pipelines.


Riff-Raff and Magenta have been built with the tools we use at the Guardian and you will find it easiest if you use a similar set of tools. Riff-Raff:

  • relies on artifacts and riff-raff.yaml files describing builds being in S3 buckets with the artifacts having paths of the form project-name/build-number
  • uses the AWS SDK and Prism to do resource discovery
  • stores configuration, history and logs in a PostgreSQL database and a handful of DynamoDB tables (the eventual aim is to ditch DynamoDB altogether)


The documentation is available in the application (under the Documentation menu) but can also be viewed under riff-raff/app/docs in github.

In action

Screenshots don't do a lot to show how Riff-Raff works in practice - but here are a handful anyway, just to give a hint.

Deploy history The deploy history view - this shows all deploys that have ever been done (in this case filtered on PROD and projects containing 'mobile')

Deploy log This is what a single deploy looks like - displaying the overall result and the list of tasks that were executed.

Request a deploy The simple form for requesting a deploy can be seen here (further options are available after previewing)

Continuous deployment configuration Riff-Raff polls our build server frequently and can be configured to automatically start a deploy for newly completed builds

How do I run Riff-Raff locally if I want to hack on it?

Assuming you have a reasonably recent version of Java installed,

What is still left to do?

See the TODO.txt file in this project


The Guardian's deployment platform




No releases published


No packages published