We are excited to announce several new features to enhance the deployment experience for Ruby applications on Zeabur. These updates provide greater flexibility and control over your Ruby service setup, allowing for a smoother and more customized deployment process.
First, you can define the command used to initialize your Ruby service during the build process with the environment variable, ZBPACK_BUILD_COMMAND
:
ZBPACK_BUILD_COMMAND="bash scripts/build-ruby-assets.sh"
or build_command
in zbpack.json
:
{
"build_command": "bash scripts/build-ruby-assets.sh"
}
It will be run at the final stage before completing the build of the service.
We also allow user to specify the command that will be used to start your Ruby service by setting the environment variable ZBPACK_START_COMMAND
or start_command
in zbpack.json
:
ZBPACK_START_COMMAND="bundle exec puma -C config/puma.rb"
Or in zbpack.json
:
{
"start_command": "bundle exec puma -C config/puma.rb"
}
Note that this option overrides the ZBPACK_RUBY_ENTRY
option.
By setting the environment variable ZBPACK_RUBY_VERSION
or ruby.version
in zbpack.json
, you can customize the version of Ruby used for your service.
ZBPACK_RUBY_VERSION="3.0.2"
Or in zbpack.json
:
{
"ruby": {
"version": "3.0.2"
}
}
By setting the environment variable ZBPACK_RUBY_ENTRY
or ruby.entry
in zbpack.json
, you can override the default entry point of your service.
ZBPACK_RUBY_ENTRY="app.rb"
Or in zbpack.json
:
{
"ruby": {
"version": "3.0.2"
}
}
This is the simplified option of ZBPACK_START_COMMAND
that allows you to specify the Ruby file to run:
ruby [the-entrypoint-to-run.rb]
If you have set ZBPACK_START_COMMAND
, we pick up ZBPACK_START_COMMAND
instead of this option.
Here is an example of how you can configure these settings in your zbpack.json
file:
{
"build_command": "bash scripts/build-ruby-assets.sh",
"start_command": "bundle exec puma -C config/puma.rb",
"ruby": {
"version": "3.0.2"
}
}
Or using entry
instead of start_command
:
{
"build_command": "bash scripts/build-ruby-assets.sh",
"ruby": {
"version": "3.0.2"
},
"entry": "app.rb"
}
These new configurations empower you
to tailor the build and runtime environments of your Ruby applications precisely to your needs.
By leveraging ZBPACK_BUILD_COMMAND
, ZBPACK_START_COMMAND
, ZBPACK_RUBY_VERSION
, and ZBPACK_RUBY_ENTRY
,
you can ensure a more predictable and streamlined deployment process on Zeabur.
We hope these enhancements will improve your deployment experience. Happy coding!