logo

改善Ruby的开发体验

新功能提升Ruby项目的开发体验。

PanPan

我们很高兴地宣布,Zeabur针对Ruby应用程序推出了多项新功能,以增强部署体验。这些更新提供了更大的灵活性和控制权,从而使您的Ruby服务设置过程更加顺畅和个性化。

构建命令

首先,您可以通过环境变量ZBPACK_BUILD_COMMAND定义在构建过程中初始化Ruby服务的命令:

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

或者在zbpack.json中使用build_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"
  }
}

这是一个简化的ZBPACK_START_COMMAND选项,允许您指定运行的Ruby文件:

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"
  }
}

或者使用entry替代start_command

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

总结

这些新配置让您能够精确地根据需求定制Ruby应用程序的构建和运行环境。通过利用ZBPACK_BUILD_COMMANDZBPACK_START_COMMANDZBPACK_RUBY_VERSIONZBPACK_RUBY_ENTRY,您可以确保Zeabur上更可预测和流畅的部署过程。

我们希望这些改进能够提升您的部署体验。祝您编码愉快!