RubyのDXを改善

RubyプロジェクトのDXを向上させる新機能。

PanPan

ZeaburでのRubyアプリケーションのデプロイ体験を向上させるため、いくつかの新機能を発表できることを嬉しく思います。 これらのアップデートにより、Rubyサービス設定に対する柔軟性とコントロールが強化され、 よりスムーズでカスタマイズ可能なデプロイプロセスが可能になります。

ビルドコマンド

まず、環境変数ZBPACK_BUILD_COMMANDを使用して、ビルドプロセス中にRubyサービスを初期化するためのコマンドを定義できます:

ZBPACK_BUILD_COMMAND="bash scripts/build-ruby-assets.sh"

または、zbpack.jsonbuild_command:

{
  "build_command": "bash scripts/build-ruby-assets.sh"
}

これは、サービスのビルドを完了する最終段階で実行されます。

スタートコマンド

また、環境変数ZBPACK_START_COMMANDまたはzbpack.json内のstart_commandを設定することで、 Rubyサービスを起動するためのコマンドをユーザーが指定できるようにしました:

ZBPACK_START_COMMAND="bundle exec puma -C config/puma.rb"

または、zbpack.jsonで:

{
  "start_command": "bundle exec puma -C config/puma.rb"
}

このオプションはZBPACK_RUBY_ENTRYオプションを上書きすることに注意してください。

使用するRubyバージョンの設定

環境変数ZBPACK_RUBY_VERSIONまたはzbpack.json内のruby.versionを設定することで、 サービスに使用するRubyのバージョンをカスタマイズできます。

ZBPACK_RUBY_VERSION="3.0.2"

または、zbpack.jsonで:

{
  "ruby": {
    "version": "3.0.2"
  }
}

Rubyプロジェクトのエントリーポイントの設定

環境変数ZBPACK_RUBY_ENTRYまたはzbpack.json内のruby.entryを設定することで、 サービスのデフォルトのエントリーポイントを上書きできます。

ZBPACK_RUBY_ENTRY="app.rb"

または、zbpack.jsonで:

{
  "ruby": {
    "version": "3.0.2"
  }
}

これは、指定したRubyファイルを実行するためのZBPACK_START_COMMANDの簡易版です:

ruby [the-entrypoint-to-run.rb]

ZBPACK_START_COMMANDを設定している場合は、このオプションではなくZBPACK_START_COMMANDを使用します。

zbpack.json設定例

これらの設定をzbpack.jsonファイルでどのように構成できるかの例を以下に示します:

{
  "build_command": "bash scripts/build-ruby-assets.sh",
  "start_command": "bundle exec puma -C config/puma.rb",
  "ruby": {
    "version": "3.0.2"
  }
}

またはstart_commandの代わりにentryを使用:

{
  "build_command": "bash scripts/build-ruby-assets.sh",
  "ruby": {
    "version": "3.0.2"
  },
  "entry": "app.rb"
}

まとめ

これらの新しい設定を活用することで、 Rubyアプリケーションのビルドと実行環境をニーズに応じて正確に調整できます。 ZBPACK_BUILD_COMMANDZBPACK_START_COMMANDZBPACK_RUBY_VERSION、およびZBPACK_RUBY_ENTRYを活用することで、 より予測可能で効率的なデプロイプロセスがZeabur上で確保されます。

これらの改善があなたのデプロイ体験を向上させることを願っています。コーディングを楽しんでください!