我们很高兴地宣布,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选项。
通过设置环境变量ZBPACK_RUBY_VERSION或在zbpack.json中使用ruby.version,您可以自定义服务使用的Ruby版本。
ZBPACK_RUBY_VERSION="3.0.2"
或者在zbpack.json中:
{
"ruby": {
"version": "3.0.2"
}
}
通过设置环境变量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文件中配置这些设置的示例:
{
"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_COMMAND、ZBPACK_START_COMMAND、ZBPACK_RUBY_VERSION和ZBPACK_RUBY_ENTRY,您可以确保Zeabur上更可预测和流畅的部署过程。
我们希望这些改进能够提升您的部署体验。祝您编码愉快!