Ruby on Rails

Deployment & Production

Capistrano, Docker, Heroku, AWS, database.yml, credentials.yml.enc, precompile assets, zero-downtime deployments

20 interview questionsยท
Senior
1

Which command should be used to precompile Rails assets before a production deployment?

Answer

The rails assets:precompile command compiles all assets (JavaScript, CSS, images) into optimized files with fingerprinting for cache busting. This step is essential before any production deployment to ensure assets are ready to be served efficiently. The RAILS_ENV=production variable ensures compilation uses production settings.

2

In which file does Rails 7+ store encrypted credentials for production?

Answer

Rails 7+ uses config/credentials.yml.enc to store secrets in an encrypted manner. This file can be committed to the repository since it is encrypted with a master key. For specific environments, Rails also supports config/credentials/production.yml.enc with its own decryption key.

3

What is the main role of Capistrano in a Rails deployment workflow?

Answer

Capistrano is a deployment automation tool that executes commands on remote servers via SSH. It manages releases with a symlink system enabling instant rollbacks, runs migrations, precompiles assets and restarts application servers. Its versioned releases approach simplifies deployment management.

4

How to access a credential stored in credentials.yml.enc from Rails code?

5

Which configuration in database.yml allows managing multiple read replicas for production?

+17 interview questions

Master Ruby on Rails for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free