This pull request introduces several significant changes to the project, primarily focusing on the deployment process and the addition of hooks to the Kamal deployment tool. The changes include the addition of a GitHub workflow for deployment, the creation of several Kamal hooks for different stages of the deployment process, and the addition of curl to the Dockerfile.
Deployment Process Enhancements:
.github/workflows/deploy.yaml: A new GitHub workflow has been added for deploying the application. This workflow triggers on a push to the main branch and performs several steps, including setting up the deploy file, installing Ruby, setting up Docker, and deploying the application using Kamal.
config/deploy.yml: A new configuration file has been added for the Kamal deployment tool. This file specifies the application service name, container image name, servers to deploy to, environment variables, and other configuration options.
.kamal/hooks/post-deploy.sample: This post-deploy hook logs information about the deployment, such as the performer, version, destination, and runtime.
This pull request introduces several significant changes to the project, primarily focusing on the deployment process and the addition of hooks to the Kamal deployment tool. The changes include the addition of a GitHub workflow for deployment, the creation of several Kamal hooks for different stages of the deployment process, and the addition of curl to the Dockerfile.
Deployment Process Enhancements:
.github/workflows/deploy.yaml
: A new GitHub workflow has been added for deploying the application. This workflow triggers on a push to the main branch and performs several steps, including setting up the deploy file, installing Ruby, setting up Docker, and deploying the application using Kamal.config/deploy.yml
: A new configuration file has been added for the Kamal deployment tool. This file specifies the application service name, container image name, servers to deploy to, environment variables, and other configuration options.Kamal Hooks:
.kamal/hooks/docker-setup.sample
: This new hook sets up a Docker network for the application's containers..kamal/hooks/post-deploy.sample
: This post-deploy hook logs information about the deployment, such as the performer, version, destination, and runtime..kamal/hooks/post-traefik-reboot.sample
: This hook logs a message when Traefik is rebooted..kamal/hooks/pre-build.sample
: This pre-build hook checks for a clean Git checkout, a configured remote, a pushed branch, and a matching version..kamal/hooks/pre-connect.sample
: This pre-connect hook warms up DNS before connecting to hosts..kamal/hooks/pre-deploy.sample
: This pre-deploy hook checks the GitHub status of the build and waits for a pending build to complete..kamal/hooks/pre-traefik-reboot.sample
: This hook logs a message before rebooting Traefik.Other Changes:
Dockerfile
: The Dockerfile now includes a step to install curl.