Menentukan Versi Ruby
Project buildpack menyediakan dukungan untuk rilis saat ini dan rilis LTS Aktif Ruby. Rilis Ruby yang lebih lama tersedia tetapi mungkin tidak dikelola secara aktif oleh project.
Menggunakan Gemfile.lock
Jika aplikasi Anda menggunakan bundler, Anda harus memiliki Gemfile.lock di root repo. Buildpack Ruby akan otomatis menggunakan versi yang dikunci di Gemfile.lock Anda. Misalnya, jika Gemfile.lock memiliki hal berikut:
RUBY VERSION
ruby 3.0.3p0
Buildpack akan secara otomatis menggunakan Ruby 3.0.3, dengan level patch terbaru.
Menggunakan GOOGLE_RUNTIME_VERSION
Jika tidak menggunakan bundler, Anda dapat menentukan versi ruby menggunakan variabel lingkungan sebagai berikut:
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--env GOOGLE_RUNTIME_VERSION=3.0.3
Anda juga dapat menggunakan deskriptor project project.toml
untuk mengenkode
variabel lingkungan bersama file project Anda. Lihat petunjuk cara
membangun aplikasi dengan variabel lingkungan.
Jika Anda menggunakan bundler,GOOGLE_RUNTIME_VERSION
tidak dapat digunakan untuk mengganti versi yang ditentukan di Gemfile.lock
pada RUBY VERSION
.
Menginstal Dependensi
Menggunakan Bundler
- Bundler adalah pengelola paket default
- Commit
Gemfile.lock
ke repo Anda karena kami menggunakan file kunci untuk membangun aplikasi - Secara default, hanya dependensi produksi yang diinstal
Versi Bundler
Bundler memiliki masalah kompatibilitas umum.
Jika aplikasi Anda menggunakan bundler, karena berbagai masalah kompatibilitas dengan Ruby dan Rubygem, kami akan mengupdate
Gemfile.lock dalam aplikasi yang di-build untuk menggunakan salah satu dari dua versi yang didukung.
Semua aplikasi yang menggunakan bundler 1.* dan 2.* di BUNDLED WITH
dinormalkan untuk menggunakan bundler 1.17.3 dan 2.3.15.
Menentukan Titik Entri
Menggunakan Procfile
Anda dapat menentukan titik entri, yaitu perintah yang berjalan saat container dimulai, menggunakan Procfile. Misalnya, dengan hal berikut di Procfile pada root aplikasi Anda:
web: ruby main.rb
Buildpack Ruby akan menggunakan perintah ruby main.rb
sebagai titik entri container yang dibuat.
Secara default, target web
dari Procfile digunakan.
Untuk menggunakan titik entri yang berbeda, Anda dapat menentukan target yang berbeda dari Procfile sebagai argumen.
Dengan Procfile yang berisi berikut ini:
web: ruby main.rb
custom: ruby custom.rb
Anda dapat menggunakan target Procfile kustom dengan meneruskannya sebagai argumen:
bash
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--entrypoint=custom
Menggunakan GOOGLE_ENTRYPOINT
Jika tidak menggunakan Procfile atau ingin mengganti Procfile, Anda dapat menentukan titik entri
menggunakan variabel lingkungan GOOGLE_ENTRYPOINT
. Berikut contohnya:
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--env GOOGLE_ENTRYPOINT="ruby custom.rb"
Variabel Lingkungan
Buildpack Ruby mendukung variabel lingkungan berikut untuk menyesuaikan container Anda
BUNDLE_
Lihat dokumentasi bundler
.
Contoh: BUNDLE_TIMEOUT=60
menetapkan --timeout=60
untuk perintah bundle
.