Ruby
Wykrywany po pliku Gemfile. Bundler instaluje gemy bez grup development i test.
Przewodniki wdrożeniowe krok po kroku: Ruby, Ruby on Rails.
Na stronie Buildpacksopisano, jak działa wykrywanie i polityka wersji. Jeśli projekt ma też package.json, dostaje Node.jsw tym samym buildzie (Rails z pipeline'em JS).
Wykrywanie
Gemfile w Base directory.
Wersje
Domyślnie Ruby 3.4. Według stanu na wrzesień 2026 dostępne były wersje 3.3, 3.4 i 4.0. Otrzymujesz najnowszą wersję poprawkową wybranej wersji minor.
Wersja jest odczytywana kolejno z:
.ruby-version(prefiksruby-jest usuwany)- Linia
ruby "3.4.10"w Gemfile (pełnex.y.z)
Wersja Bundlera pochodzi z sekcji BUNDLED WITH w Gemfile.lock. Jeśli jej tam nie ma, builder używa przypiętej wersji: Bundler 2 dla Ruby 3, Bundler 4 dla Ruby 4.
Instalacja i build
bundle install z BUNDLE_WITHOUT=development:test działa w trybie deployment, jeśli istnieje Gemfile.lock. Bez tego pliku Bundler rozwiązuje zależności gemów podczas buildu. W aplikacjach Rails (config/environment.rb) uruchamiane jest rake assets:precompile, jeśli to zadanie istnieje. Prekompilacja używa RAILS_ENV=production i SECRET_KEY_BASE_DUMMY=1.
Domyślnie podczas uruchamiania RAILS_ENV i RACK_ENV mają wartość production, logi trafiają na stdout, a RAILS_SERVE_STATIC_FILES=enabled.
Polecenie startowe
config/puma.rb:bundle exec puma -C config/puma.rbconfig.ru:bundle exec rackup config.ru -p $PORT(5000, jeśliPORTnie jest ustawiony)- W przeciwnym razie:
bundle exec ruby app.rb
Puma lub Rack muszą nasłuchiwać na PORT. Możesz to nadpisać w Procfile.