Heroku is a Platform as a Service (PaaS), where you can deploy and manage your Ruby on Rails applications. It is one of the easiest platforms to deploy to; allowing you to focus on the development side of things instead of worrying about managing an infrastructure.
Continuing from the previous episode, we look at speeding up the build times with a remote builder, continued warning about accessories, implementing background jobs, setting up the infrastructure for background workers and diving more into the Kamal (MRSK) commands.
Back in Episode #106, we configured and deployed to a very simple AWS Beanstalk environment. However, in this episode, we take things a bit further and explore security groups, an existing database and redis service. Also, there are a few changes that we have to do in order to get Rails 6 working within Beanstalk.
Kamal is a great utility for deploying your application to a server. It can handle many different kinds of use cases. However, there is some disconnect on how to use it within a CI/CD pipeline. In this episode, we'll look at deploying a Rails 7.1 application with SQLite to a virtual machine using Kamal within GitHub Actions.