- Ruby 2.7.1
- PostgreSQL
- NodeJS 12.13.x
- Yarn 1.12.x
- Run
bundle install
to install the gem dependencies - Run
yarn
to install node dependencies - Run
bin/rails db:setup
to set up the database development and test schemas, and seed with test data - Run
bundle exec rails server
to launch the app on http://localhost:3000 - Run
./bin/webpack-dev-server
in a separate shell for faster compilation of assets
- Rails 6.0 with Webpacker
- GOV.UK Frontend
- GOV.UK Design System Formbuilder
- GOV.UK Components
- RSpec
- Dotenv (managing environment variables)
- Travis with Heroku deployment
- Docker and docker compose
bundle exec rake
bundle exec rspec
It's best to lint just your app directories and not those belonging to the framework, e.g.
bundle exec rubocop app config db lib spec Gemfile --format clang -a
or
bundle exec scss-lint app/webpacker/styles
- Run the application locally without installing dependencies (postgres, system libraries...)
- Run in a Linux environment similar to production
- Simulate running in production with dependencies using docker-compose
- Package the application so it can be versioned and deployed to multiple environments
- Docker >= 19.03.12
make build-local-image
It relies heavily on caching. The first build may be slow and subsequent ones faster.
The docker image doesn't contain a default command. Any command can be appended:
% docker run -p 3001:3000 dfedigital/govuk-rails-boilerplate:latest rails -vT
rails about # List versions of all Rails frameworks and the environment
rails action_mailbox:ingress:exim # Relay an inbound email from Exim to Action Mailbox (URL and INGRESS_PASSWORD required)
...
Docker compose provides a default empty database to run rails in production mode.
docker-compose up
Open: http://localhost:3000
- Your department, agency or team has a GOV.UK PaaS account
- You have a personal account granted by your organisation manager
- You have downloaded and installed the Cloud Foundry CLI for your platform
- Run
cf login -a api.london.cloud.service.gov.uk -u USERNAME
,USERNAME
is your personal GOV.UK PaaS account email address - Run
bundle package --all
to vendor ruby dependencies - Run
yarn
to vendor node dependencies - Run
bundle exec rails webpacker:compile
to compile assets - Run
cf push
to push the app to Cloud Foundry Application Runtime
Check the file manifest.yml
for customisation of name (you may need to change it as there could be a conflict on that name), buildpacks and eventual services (PostgreSQL needs to be set up).
The app should be available at https://govuk-rails-boilerplate.london.cloudapps.digital