We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
RailsConf 2023 - Building Ruby Head for your Rails App by Maple Ong
Learn to build, upgrade and customize Ruby for your Rails app, improving performance, security, and control over the build process.
- Building Ruby head provides a smaller surface area for security vulnerabilities, as it’s a more recent and frequently updated version of Ruby.
-
Installing Ruby head can be done with a single command,
sudo make install
, which compiles and installs Ruby from source. - Compiling Ruby from source allows for more control over the build process and customizations.
- Using a package manager like Homebrew or Mac OS to install Ruby head is not recommended as it can lead to version conflicts and unexpected behavior.
- Gradual upgrades to Ruby head can be achieved by building a pipeline that compiles and installs Ruby head, then installs dependencies and runs tests.
- Docker images can be used to build and test Ruby head, allowing for easier deployment and management of Ruby applications.
- Ruby head can be used to upgrade gems and dependencies, reducing the risk of compatibility issues and making it easier to keep up with the latest features and security patches.
- JEMALOC is a memory allocation library that can be used with Ruby head to improve performance and reduce memory leaks.
- Preloading JEMALOC can help to prevent memory allocation failures and improve the overall performance of Ruby applications.
-
Ruby head can be built locally using the
ruby-build
package, which provides a simple way to build and install Ruby head. - Upgrading to Ruby head can improve the performance and security of Ruby applications, but it requires careful planning and testing to ensure compatibility with existing dependencies and codebases.
- Ruby head is the development version of Ruby, and it’s regularly updated with new features, security patches, and performance improvements.
- Building Ruby head locally allows for more control over the build process and customizations, but it can be time-consuming and requires technical expertise.