- Use a Docker image for Ruby 2.4.1.
- Use an image with node for JavaScript dependencies of Rails.
- Use an image with a browser for integration tests.
- Configure Postgres with an adjacent image.
- Avoid race conditions by using
dockerize
. - Cache bundler dependencies between runs.