Ruby
Détecté via un Gemfile. Bundler installe les gems sans les groupes development et test.
Guides de déploiement pas à pas : Ruby, Ruby on Rails.
Consultez Buildpackspour comprendre la détection et la politique de versions. Si le projet contient aussi un package.json, Node.jsest installé dans le même build (par exemple, Rails avec un pipeline JS).
Détection
Gemfile dans le Base directory.
Versions
Par défaut, Ruby 3.4. Branches disponibles en septembre 2026 : 3.3, 3.4, 4.0. Vous obtenez le dernier correctif de la version mineure demandée.
Pour fixer la version, dans cet ordre :
.ruby-version(un préfixeruby-est retiré)- Une ligne
ruby "3.4.10"dans le Gemfile (x.y.zcomplet)
La version de Bundler vient de la section BUNDLED WITH de Gemfile.lock. Si elle n'y figure pas, le builder utilise la version qu'il a fixée : Bundler 2 pour Ruby 3, Bundler 4 pour Ruby 4.
Installation et build
bundle install avec BUNDLE_WITHOUT=development:test, en mode deployment si un Gemfile.lock existe (sans lockfile, Bundler résout les gems pendant le build). Les apps Rails (config/environment.rb) exécutent rake assets:precompile si cette tâche existe. La précompilation utilise RAILS_ENV=production et SECRET_KEY_BASE_DUMMY=1.
Au lancement, RAILS_ENV et RACK_ENV valent production par défaut, les logs partent sur stdout et RAILS_SERVE_STATIC_FILES=enabled est défini.
Commande de démarrage
config/puma.rb:bundle exec puma -C config/puma.rbconfig.ru:bundle exec rackup config.ru -p $PORT(5000 siPORTn'est pas défini)- Sinon :
bundle exec ruby app.rb
Faites écouter Puma ou Rack sur PORT. Un Procfile permet de remplacer la commande.