Ruby: Fazer deploy em produção
Como fazer deploy do seu código Ruby em produção em poucos minutos
👋 Bem-vindo à documentação da Stackhero!
A Stackhero disponibiliza uma solução Ruby cloud pronta a usar, que oferece várias vantagens, incluindo:
- Implemente a sua aplicação em segundos com um simples
git push.- Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para maior segurança.
- Desfrute de backups automáticos, atualizações com um clique e uma estrutura de preços simples, transparente e previsível.
- Obtenha performance otimizada e segurança reforçada graças a uma infraestrutura privada e dedicada.
Poupe tempo e simplifique a sua vida: bastam 5 minutos para experimentar a solução de Ruby cloud hosting da Stackhero!
O serviço de alojamento cloud Ruby da Stackhero facilita o deploy dos seus projetos Ruby em produção em apenas alguns minutos, combinando uma plataforma poderosa com uma experiência de utilização intuitiva.
Aqui está o que irá obter:
- Faça deploy do seu código com um simples
git push. - Utilize o seu próprio domínio personalizado, com gestão automática de certificados TLS (HTTPS).
- Execute a sua aplicação numa infraestrutura dedicada e isolada para máxima segurança e privacidade.
- Beneficie de suporte para HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressão GZIP e Brotli, ETag, acesso a portas TCP e UDP, entre outros.
Pré-requisitos
O único requisito para começar a fazer deploy dos seus projetos na Stackhero é ter o Git instalado no seu computador.
<!--  -->Se pretende poupar tempo ou prefere evitar configurar um ambiente local complexo, pode experimentar o Code-Hero da Stackhero.
O Code-Hero é uma plataforma de desenvolvimento pronta a usar, acessível diretamente a partir do seu browser, em qualquer computador, tablet ou telemóvel. Baseada num fork do VSCode, já inclui todas as ferramentas essenciais pré-instaladas e pré-configuradas, para que possa começar a programar de imediato, sem complicações de configuração.
Passos para fazer deploy na Stackhero
Fazer deploy da sua aplicação Ruby na Stackhero é um processo simples. Estes são os passos que irá seguir, e iremos detalhar cada um deles:
- Criar um serviço Ruby na Stackhero.
- Adicionar a sua chave pública SSH à configuração do serviço Ruby.
- Configurar o comando
git pushna sua plataforma de desenvolvimento. - Adicionar um Makefile ao seu projeto.
- Fazer deploy do seu código para produção.
Se encontrar algum problema durante o deploy, a documentação de Resolução de Problemas pode ajudá-lo a encontrar rapidamente uma solução. É sempre uma boa ideia consultar essa secção primeiro para poupar tempo e evitar frustrações.
Configurar o seu serviço Stackhero for Ruby
Se ainda não criou um serviço Stackhero for Ruby, pode fazê-lo no seu dashboard Stackhero em apenas alguns minutos.
Assim que o seu serviço Ruby estiver ativo, o próximo passo é adicionar a sua chave pública SSH. Pode encontrar a sua chave pública executando:
cat ~/.ssh/id_*.pub
Ainda não tem chaves SSH?
Pode gerá-las com:
ssh-keygen -t ed25519
Para adicionar a sua chave SSH, aceda ao seu dashboard Stackhero, selecione o seu serviço Ruby, clique em "Configurar" e cole a sua chave pública na secção "Chaves públicas SSH".
<!--  -->Dica: Quer poupar tempo no futuro? Pode adicionar a sua chave pública SSH ao seu perfil para que seja incluída automaticamente em novos serviços que criar.
Basta clicar na sua foto de perfil no canto superior direito do dashboard, selecionar "O seu perfil" e adicionar aí a sua chave pública SSH.
Configurar o comando git push para deploy
O deploy na Stackhero utiliza o CLI do Git e o comando git push, por isso não precisa de instalar ferramentas adicionais.
Pode copiar o comando git remote a partir da página principal do seu serviço no dashboard Stackhero. Normalmente tem este formato:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Criar um Makefile para deploy na Stackhero
Para indicar à Stackhero como executar a sua aplicação, deve criar um ficheiro Makefile na raiz do seu projeto. Este ficheiro define os comandos que a Stackhero irá utilizar durante o deploy.
Se nunca trabalhou com Makefiles ou com o comando
make, não se preocupe, os passos abaixo irão guiá-lo em todo o processo.
Crie um ficheiro Makefile com o seguinte conteúdo:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
O que acontece neste Makefile:
- A regra
runé obrigatória; a Stackhero irá executá-la automaticamente durante o deploy. Por favor, mantenha este nome, pois serve como ponto de entrada. - Os comandos usam
rakeebundle, mas pode adaptá-los conforme as necessidades da sua aplicação. - Certifique-se de que cada linha de comando começa com um carácter de tabulação, e não com espaços. Se vir um erro como
*** missing separator, verifique este detalhe no ficheiro.
No exemplo acima, o deploy irá:
- Pré-compilar os assets como JavaScript e CSS para o diretório
public/assets. - Executar as migrações de base de dados necessárias.
- Iniciar o servidor Puma para servir a sua aplicação.
Fazer deploy da sua aplicação Ruby
Está pronto para avançar. Para fazer deploy do seu código na Stackhero, utilize:
git push stackhero main
Na primeira vez que executar este comando, ser-lhe-á pedido para confirmar a impressão digital da chave SSH. Basta responder "yes" para continuar.
Após alguns instantes, a sua aplicação ficará disponível online.
<!--  -->Pode aceder à sua aplicação em produção através do URL apresentado no seu dashboard Stackhero. Normalmente será algo como https://<XXXXXX>.stackhero-network.com.
Parabéns. A sua aplicação está agora em produção.
Problemas com o deploy?
Não se esqueça de consultar a secção de Resolução de Problemas para soluções rápidas.
Conclusão
Acabou de aprender como fazer deploy de código Ruby em produção usando a Stackhero, num processo simples e eficaz.
Se quiser aprofundar ainda mais, a documentação de Usos Avançados de Deploy aborda temas como deploy de diferentes branches git, tags ou commits específicos, e gestão de múltiplos ambientes como staging e produção. Também encontrará dicas para trabalhar com variáveis de ambiente e muito mais.
E lembre-se, se surgir algum problema durante o deploy, a documentação de Resolução de Problemas é um excelente recurso para o ajudar a resolvê-los de forma eficiente e manter o seu fluxo de trabalho sem interrupções.