Ruby
Rilevato da un Gemfile. Bundler installa le gem senza i gruppi development e test.
Guide passo passo al deploy: Ruby, Ruby on Rails.
Vedi Buildpackper come funzionano il rilevamento e la politica delle versioni. Un progetto che contiene anche package.json riceve Node.jsnella stessa build (Rails con una pipeline JS).
Rilevamento
Gemfile nella base directory.
Versioni
La versione predefinita è Ruby 3.4. Versioni pubblicate (dati aggiornati a settembre 2026): 3.3, 3.4, 4.0. Ricevi l'ultima patch della versione minor richiesta.
Per fissare la versione, in quest'ordine:
.ruby-version(un prefissoruby-viene rimosso)- Una riga
ruby "3.4.10"nel Gemfile (x.y.zcompleto)
La versione di Bundler viene dalla sezione BUNDLED WITH di Gemfile.lock. Se manca, il builder usa la versione bloccata: Bundler 2 per Ruby 3, Bundler 4 per Ruby 4.
Installazione e build
bundle install con BUNDLE_WITHOUT=development:test, in modalità deployment se esiste un Gemfile.lock (senza lockfile, Bundler risolve le gem durante la build). Le app Rails (config/environment.rb) eseguono rake assets:precompile se il task esiste. La precompilazione usa RAILS_ENV=production e SECRET_KEY_BASE_DUMMY=1.
Le impostazioni predefinite all'avvio includono RAILS_ENV e RACK_ENV impostati su production, i log su stdout e RAILS_SERVE_STATIC_FILES=enabled.
Comando di avvio
config/puma.rb:bundle exec puma -C config/puma.rbconfig.ru:bundle exec rackup config.ru -p $PORT(5000 sePORTnon è impostata)- Altrimenti:
bundle exec ruby app.rb
Metti Puma o Rack in ascolto su PORT. Puoi sovrascrivere il comando con un Procfile.