Ruby: Implementar em produção

Como implementar o seu código Ruby em produção em poucos minutos

👋 Bem-vindo à documentação do Stackhero!

A Stackhero oferece uma solução Ruby cloud pronta a usar que proporciona uma série de benefícios, 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 uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
  • Obtenha desempenho ótimo e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de Ruby cloud hosting da Stackhero!

O serviço de cloud hosting Ruby da Stackhero facilita a implementação dos seus projetos Ruby em produção em apenas alguns minutos, combinando uma plataforma poderosa com uma experiência de utilizador intuitiva.

Aqui está o que irá obter:

  • 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 VM dedicada e privada para máxima segurança e privacidade.
  • Beneficie do suporte a HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressão GZIP e Brotli, ETag, acesso a portas TCP e UDP, entre outros.

A única coisa de que necessita para começar a implementar os 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.

<!-- ![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 é um processo simples. Estes são os passos que irá seguir, e iremos detalhar cada um deles:

  1. Crie um serviço Ruby na Stackhero.
  2. Adicione a sua chave pública SSH à configuração do 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 a implementação, a documentação de Resolução de Problemas pode ajudá-lo a encontrar rapidamente uma solução. É sempre boa prática consultar esta secção primeiro para poupar tempo e evitar frustrações.

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".

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

Dica: Quer poupar tempo no futuro? Pode adicionar a sua chave pública SSH ao seu perfil para que seja automaticamente incluída em todos os 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.

A implementação 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
<!-- ![Comando Git remote Ruby no dashboard da Stackhero](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

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 a implementação.

Se não está familiarizado 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

Eis o que acontece neste Makefile:

  1. A regra run é obrigatória; a Stackhero irá executá-la automaticamente durante a implementação. Mantenha este nome, pois serve como ponto de entrada.
  2. Os comandos utilizam rake e bundle, mas pode adaptá-los conforme as necessidades da sua aplicação.
  3. 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, a implementação irá:

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

Está pronto para avançar. Para implementar o 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 estará online.

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

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

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

Está com dificuldades na implementação?

Não se esqueça de consultar a secção de Resolução de Problemas para soluções rápidas.

Acabou de aprender como implementar código Ruby em produção utilizando a Stackhero, com um processo simples e eficiente.

Se quiser aprofundar ainda mais, a documentação de Utilizações Avançadas de Implementação aborda temas como implementar diferentes branches git, tags ou commits específicos, e gerir 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 a implementação, 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.