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.
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.
Continuing on from the previous episode, we look at creating a Docker Swarm cluster and using Traefik to load balance and route requests to various applications. Using this and CloudFlare proxies, we're able to create and deploy hobby applications in minutes.
I often create Rails projects and while some of these applications are fairly simple, deployment to a production environment still requires a lot of infrastructure setup. In this episode, we take a look at creating a Rails project template and being able to deploy it to a production environment within minutes.
Amazon's newest hosting service, App Runner, makes it fairly easy to deploy web services. In this episode, we take a look at some of the issues with App Runner as well as how we can deploy a Docker container image to the service. We also dive into building Docker images from an Apple M1 computer and pushing to Elastic Container Registry.
I recently upgraded Drifting Ruby's site from Ruby 2.6 to Ruby 2.7 as part of some general maintenance. The Beanstalk instance was using an older version of Amazon Linux. During the upgrade process, I discovered that it wasn't a simple transition. In this episode, we look at the discovery path and how to successfully deploy your Ruby on Rails application to AWS Elastic Beanstalk with Amazon Linux 2 and Ruby 2.7.
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.