This documentation explains how to use the Paketo Ruby Buildpack to build applications for several common use-cases. For more in-depth description of the buildpack’s behavior and configuration see the Paketo Ruby Buildpack Reference documentation.
pack
コマンドを使って、PHP Paketo Buildpack でサンプルアプリをビルドします。
git clone <https://github.com/paketo-buildpacks/samples> cd samples/ruby/puma pack build my-app --buildpack gcr.io/paketo-buildpacks/ruby \ --builder paketobuildpacks/builder:base
Copied!
アプリケーションの実行方法は README ファイル を参照してください。
注意:この例では Paketo Base ビルダーを使っていますが、Ruby Paketo Buildpack は Paketo Full ビルダーと互換性があります
Ruby Paketo Buildpack では、デプロイするときに使用する CRuby のバージョンを、環境変数 BP_MRI_VERSION
や Gemfile
で指定できます。
指定できるバージョンは、使用する Buildpack の対応しているバージョンだけです。
Ruby Paketo Buildpack の使用できる CRuby のバージョンについては、Ruby Paketo Buildpack のリリースノート を参照してください。
MRI Cloud Native Buildpack v1.0.0 から、buildpack.yml
で CRuby のバージョンを指定する機能は非推奨になりました。
バージョンを指定する場所の優先順位は BP_MRI_VERSION, Gemfile
の順になっています。
CRuby のバージョンを指定しなかった場合は Buildpack の buildpack.toml
に指定された初期値が使われます。
BP_MRI_VERSION
を使用する
アプリケーションをデプロイするときに CRuby v2.7.1 を使うようにするには、pack build
コマンドのフラグ --env
で環境変数 BP_MRI_VERSION
を指定するか、project.toml へ記述します。
BP_MRI_VERSION="2.7.1"
Copied!
アプリケーションをデプロイするときに CRuby v2.7.1 を使うようにするには、Gemfile
へ次のように記述します。
source 'https://rubygems.org' ruby '~> 2.7.1'
Copied!
buildpack.yml
を使用する
MRI Cloud Native Buildpack v1.0.0 から、buildpack.yml
で CRuby のバージョンを指定する機能は非推奨になりました。
環境変数 BP_MRI_VERSION
を使用してください。
Ruby Paketo Buildpack ではデプロイするときに使用する Bundler のバージョンを指定できます。
バージョンを指定するには環境変数 BP_BUNDLER_VERSION
か Gemfile.lock
を使用します。
指定できるバージョンは、使用する Buildpack の対応しているバージョンだけです。
使用できる Bundler のバージョンは Bundler Cloud Native Buildpack のリリースノート で確認してください。
Bundler Cloud Native Buildpack v1.0.0 から、buildpack.yml
で Bundler のバージョンを指定する機能は非推奨になりました。
バージョンを指定する場所の優先順位は BP_BUNDLER_VERSION, Gemfile.lock
の順になっています。
Bundler のバージョンを指定しなかった場合は、Bundler Cloud Native Buildpack の buildpack.toml
に指定された初期値が使われます。
BP_BUNDLER_VERSION
を使用する
Buildpack がアプリケーションをデプロイするときに Bundler v2.1.4 を使うようにするには、pack build
コマンドのフラグ --env
で環境変数 BP_MRI_VERSION
を指定するか、project.toml へ記述します。
BP_BUNDLER_VERSION="2.1.4"
Copied!
Gemfile.lock
を使用する
アプリケーションをデプロイするときに Bundler v2.1.4 を使うようにするには、Bundler v2.1.4 で bundle install
を実行して生成された Gemfile.lock
をソースコードリポジトリに登録します。
BUNDLED WITH 2.1.4
Copied!
buildpack.yml
を使用する
Bundler Cloud Native Buildpack v1.0.0 から、buildpack.yml
で Bundler のバージョンを指定する機能は非推奨になりました。
環境変数 BP_BUNDLER_VERSION
を使用してください。
オフライン環境でアプリケーションをビルドするには、cache_path
に必要な .gem
ファイルを配置しておかなければなりません。
Bundler は bundle package
コマンドにより、vendor/cache
のようなディレクトリへ必要な gem ファイルを複製します。
Buildpack は Bundler がオンラインの RubyGems よりキャッシュを優先するよう、bundle install --local
を実行します。
Ruby Paketo Buildpack は起動コマンドとして Rake タスクを実行するコンテナイメージをビルドできます。
ソースコードに Rakefile
を入れるだけです。
実行するのはデフォルトタスクです。
具体例は サンプルアプリ を参照してください。
デフォルトタスク以外の Rake タスクを実行したいときは、Procfile へ次のように起動コマンドを記述します。
web: bundle exec rake non_default
Copied!
コンテナイメージを実行するときにデフォルトタスク以外の Rake タスクを指定するには、エントリポイントに launcher
を指定して、実行したい Rake コマンドを指定します。
docker run --entrypoint launcher my-rake-app bundle exec rake non_default
Copied!
Ruby Paketo Buildpack は Ruby アプリケーションの前面で実行する Web サーバーを自動的に検出し、構成できます。 Buildpack が対応している Web サーバーは次の通りです。
Buildpack の実行する Web サーバーを指定するには、 Gemfile
へ記述します。
Rackup を使用するときは次のように記述します。
gem 'rack'
Copied!
Ruby Paketo Buildpack はアセットの事前コンパイルが必要な Rails アプリケーションに対応しています。 対応している Rails のバージョンは 5.0 以上です。
アセットの事前コンパイル機能を使用するには次のように構成します。
app/assets
ディレクトリへ配置しますGemfile
に rails
gem を追加しますLast modified: September 13, 2021