Ruby: Implementar em produção

Implemente código Ruby em produção em minutos com a Stackhero

👋 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 cloud hosting Ruby da Stackhero facilita colocar os seus projetos Ruby online em apenas alguns minutos. Beneficia de uma plataforma robusta, desenhada para simplificar o processo de deployment e permitir-lhe focar-se na sua aplicação, não na infraestrutura.

Aqui está o que obtém:

  • Implemente o 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, garantindo segurança e privacidade reforçadas.
  • Tire partido de HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressão GZIP e Brotli, suporte a ETag, acesso a portas TCP e UDP, entre outras funcionalidades.

Só precisa de ter o Git instalado no seu computador para começar.

Se pretende poupar tempo ou prefere evitar configurar um ambiente local, pode explorar o Code-Hero da Stackhero.

O Code-Hero é um ambiente de desenvolvimento baseado no browser, compatível com qualquer dispositivo. Baseado num fork do VSCode, já inclui as principais ferramentas pré-instaladas e configuradas, permitindo-lhe começar a programar de imediato, sem qualquer configuração.

<!-- ![Exemplo de uma instância Code-Hero a correr diretamente no browser](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Implementar a sua aplicação Ruby na Stackhero é simples. Eis o fluxo de trabalho, com cada passo explicado em detalhe abaixo:

  1. Crie um serviço Ruby na Stackhero.
  2. Adicione a sua chave pública SSH à configuração do seu serviço Ruby.
  3. Configure o comando git push na sua plataforma de desenvolvimento.
  4. Adicione um Makefile ao seu projeto.
  5. Implemente o seu código em produção.

Se encontrar algum problema durante o deployment, a documentação de Resolução de Problemas é uma forma rápida de encontrar soluções e continuar o processo.

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 visualizar a sua chave pública executando:

cat ~/.ssh/id_*.pub

Ainda não tem chaves SSH?

Pode gerar uma 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".

<!-- ![Exemplo de configuração de um serviço Ruby](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Dica: Para poupar tempo no futuro, pode adicionar a sua chave pública SSH ao seu perfil Stackhero. Novos serviços que criar irão incluí-la automaticamente.

Clique na sua foto de perfil no canto superior direito do dashboard, selecione "O seu perfil" e adicione a sua chave pública SSH.

A implementação na Stackhero utiliza o CLI do Git e o comando git push, não sendo necessário instalar ferramentas adicionais.

Pode copiar o comando git remote a partir da página principal do seu serviço no dashboard Stackhero. Normalmente tem o seguinte formato:

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
<!-- ![Comando Git remote Ruby no dashboard da Stackhero](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

Para indicar à Stackhero como executar a sua aplicação, adicione um ficheiro Makefile na raiz do seu projeto. Este ficheiro define os comandos que a Stackhero irá utilizar durante o deployment.

Se não está familiarizado com Makefiles ou com o comando make, os passos abaixo irão guiá-lo na criação de um Makefile funcional.

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 faz este Makefile:

  1. A regra run é obrigatória. A Stackhero procura esta regra como ponto de entrada durante o deployment. Mantenha este nome.
  2. O exemplo utiliza rake e bundle, mas pode ajustar estes comandos conforme a sua aplicação.
  3. Cada linha de comando deve começar com um carácter de tabulação, não espaços. Se vir o erro *** missing separator, verifique se está a usar tabs.

No exemplo acima, o deployment irá:

  1. Pré-compilar assets como JavaScript e CSS para o diretório public/assets.
  2. Executar as migrações da base de dados.
  3. Iniciar o servidor Puma para servir a sua aplicação.

Está pronto para implementar. Pode usar:

git push stackhero main

Durante o primeiro deployment, o Git irá pedir-lhe para confirmar a impressão digital da chave SSH. Escreva "yes" para continuar.

Após alguns instantes, a sua aplicação ficará online.

<!-- ![Exemplo de deployment de código Ruby na Stackhero usando o comando `git push`](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Aceda à sua aplicação implementada através do URL apresentado no seu dashboard Stackhero. O endereço terá o formato https://<XXXXXX>.stackhero-network.com.

A sua aplicação está agora em produção.

Se encontrar dificuldades durante o deployment, a secção de Resolução de Problemas cobre os problemas mais comuns e respetivas soluções.

Viu como implementar código Ruby em produção utilizando a Stackhero, com um processo pensado para ser simultaneamente poderoso e simples.

Para temas avançados, como implementar diferentes branches, tags ou commits do Git, e gerir múltiplos ambientes como staging e produção, consulte a documentação de Usos Avançados de Deployment. Encontrará também dicas para trabalhar com variáveis de ambiente e outras funcionalidades úteis.

Se surgirem dúvidas ou problemas, a documentação de Resolução de Problemas está sempre disponível para o ajudar a manter o seu workflow de deployment fluido e eficiente.