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.
Kamal (MRSK) deploys web apps anywhere from bare metal to cloud VMs using Docker with zero downtime. In this episode, we will set up a Digital Ocean infrastructure with a Load Balancer, Virtual Machines, and a PostgreSQL database. We'll use Kamal (MRSK) to provision and deploy our Rails application to the Virtual Machines.
When rake tasks need to be part of a deployment, you could find yourself in a situation where the rake task was forgotten about or have to go through the process of shelling into the environment to execute the tasks. In this episode, we look at addressing these issues by creating a way to have rake tasks execute automatically.
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.