Add a new Ruby version
The Ruby language is a core part of GOV.UK - most of our applications are written in it.
Managing different versions of Ruby
Each app can use whatever version of Ruby it wants. We manage this with rbenv.
Setting up rbenv
We set up rbenv differently depending on what’s going on:
- Interactive login shells:
/etc/profile.d/rbenv.shsets up rbenv
.ruby-versionin the app directory set up rbenv
- Deployment: Capistrano uses a non -login shell so we set
- Testing: Jenkins uses a non-login shell so we add
- Cronjobs: some cronjobs start with
/bin/bash -l -cwhich runs a login shell
Add a new Ruby version in puppet
You will need to build a new fpm package with the new Ruby version.