Deploy: básico do Kamal 2
O curso percorre o config/deploy.yml de um app Rails para o Kamal 2, uma ferramenta de linha de comando que faz deploy em containers Docker. Ele trata dos blocos servers, ssh e registry, das variáveis de ambiente clear e secret e do Solid Queue rodando dentro do Puma. Explica o kamal-proxy, o HTTPS automático com Let's Encrypt e o healthcheck em /up que controla cada deploy. Depois mostra volumes, um acessório Postgres no mesmo servidor, aliases e um kamal deploy completo, da montagem à troca de tráfego.
O que você vai aprender
- ✓Como o deploy.yml usa ERB e variáveis de ambiente para servidores, SSH e registro
- ✓Como os nomes de segredos do deploy.yml são resolvidos pelo .kamal/secrets na hora do deploy
- ✓Rodar o supervisor do Solid Queue dentro do Puma com SOLID_QUEUE_IN_PUMA
- ✓Como o kamal-proxy cuida do HTTPS e controla o deploy com o healthcheck em /up
- ✓Manter uploads e dados do Postgres entre deploys com volumes e o acessório db
- ✓Usar aliases como kamal console e kamal logs
O que o Kamal 2 automatiza
Abra o Gemfile deste app e uma linha, com um comentário acima dela, diz do que trata este curso:
Ler a aula completa grátis →Currículo
7 aulasO que o Kamal 2 automatiza
O que é o Kamal 2 como gem de linha de comando, o que ele automatiza e o que fica com você.
servers, ssh e o registro
Como os blocos servers, ssh e registry leem variáveis de ambiente e resolvem nomes de segredos pelo .kamal/secrets.
env: clear vs secret, e rodando jobs dentro do Puma
A diferença entre valores clear e secret no env, e como o Solid Queue roda dentro do processo do Puma.
proxy, SSL e o healthcheck
Como o kamal-proxy oferece HTTPS com Let's Encrypt, encaminha cabeçalhos e usa o /up para trocar containers sem indisponibilidade.
Os volumes e o acessório db
Como os volumes preservam uploads entre deploys e como o acessório Postgres guarda os dados no disco do servidor.
Aliases e os comandos do Kamal
Como o bloco aliases encurta comandos do Kamal e o que --interactive e --reuse fazem nas sessões de console.
Juntando tudo: um kamal deploy, rastreado do início ao fim
Um kamal deploy seguido passo a passo, da montagem local e envio da imagem ao healthcheck e à troca de tráfego.