Neste guia, guiamos você através do processo de configurar e implantar um aplicativo Ruby on Rails versão 7.1 para ser hospedado e gerenciado na Kinsta. Seja você um iniciante ou um desenvolvedor experiente de Ruby on Rails, este tutorial passo a passo o ajudará a começar com a implantação do seu aplicativo na Kinsta.

Pré-requisitos

Antes de prosseguir com este guia, presumimos que você tenha um entendimento básico de Git e Ruby on Rails, incluindo a instalação do Ruby, Rails e as dependências necessárias na sua máquina de desenvolvimento local.

Etapa 1: Configure uma conta de hospedagem na Kinsta

Visite o site da Kinsta e crie uma nova conta, caso você ainda não tenha uma. Configure seu nome de domínio ou use uma URL fornecida pela Kinsta durante o processo de implantação.

Etapa 2: Crie um novo aplicativo Ruby on Rails

Abra o terminal e navegue até o diretório onde você deseja criar seu novo aplicativo Rails. Execute o seguinte comando para criá-lo:

rails new myapp --database=postgresql --javascript=esbuild --css=tailwind

Esse comando cria um novo aplicativo Rails chamado myapp com o PostgreSQL como adaptador de banco de dados, esbuild para compilar nosso Javascript, e o framework Tailwind CSS.

Você pode substituir myapp pelo nome de aplicativo que desejar.

Para obter uma lista completa das opções disponíveis a serem configuradas no comando rails new, execute:

rails new --help

Etapa 3: Configure seu aplicativo Rails

Vá para o diretório do aplicativo:

cd myapp

Certifique-se de que, ao agrupar seu aplicativo Rails, a configuração também esteja adicionando a plataforma Linux, pois esse é o sistema operacional usado para a implantação. Digite o seguinte comando no terminal:

bundle lock --add-platform x86_64-linux

Script de processo da web

Adicione um arquivo start.sh ao diretório bin do aplicativo. Isso garante que o servidor inicie o aplicativo e execute os comandos necessários para inicializar e atualizar o banco de dados antes da execução. Em seu terminal, crie o arquivo digitando:

touch bin/start.sh

Dentro desse arquivo, adicione o seguinte:

#!/bin/bash

bundle exec rails db:prepare
bundle exec rails server

Crie uma página inicial

Para começar com um Hello World, vamos criar uma página inicial Home para o aplicativo. No seu terminal, insira:

bin/rails generate controller Home index

O resultado será o seguinte:

create  app/controllers/home_controller.rb
route    get 'home/index'
invoke  erb
create  app/views/home
create  app/views/home/index.html.erb
invoke  test_unit
create  test/controllers/home_controller_test.rb
invoke  helper
create  app/helpers/home_helper.rb
invoke  test_unit

Abra app/views/home/index.html.erb e substitua seu conteúdo por:

 <h1>Hello, Kinsta!</h1>

Configurando a página inicial do aplicativo

Abra config/routes.rb e insira a seguinte rota raiz no início do bloco Rails.application.routes.draw:

Rails.application.routes.draw do
  root "home#index"

  get "/home", to: "home#index"
end

Agora, quando executamos nosso aplicativo localmente, vemos nossa nova página inicial. Como geramos nosso novo aplicativo com a adição de esbuild, temos um comando simplificado para nos ajudar a inicializar nosso aplicativo. Ao executar o comando a seguir, o Rails inicia o servidor e observa as alterações de CSS e Javascript com recarga em tempo real:

bin/dev

Crie um banco de dados

Como criamos nosso aplicativo Rails com um banco de dados PostgreSQL, precisamos configurá-lo por meio do painel de controle MyKinsta:

  • Faça login na sua conta Kinsta.com e, no painel, clique em Adicionar serviços e selecione Banco de dados.
  • Preencha os detalhes básicos e confirme na página Resumo clicando em Criar banco de dados.

Criando um banco de dados.
Criando um banco de dados.

Etapa 4: Prepare-se para a implantação

Comece criando um novo repositório no GitHub para hospedar sua base de código.

Inicialize um repositório Git localmente no diretório do seu aplicativo Rails no nível raiz:

git init

Crie um arquivo .gitignore na raiz do diretório do seu aplicativo e exclua arquivos e diretórios desnecessários do controle de versão. Um exemplo de arquivo .gitignore para um aplicativo Rails pode ser encontrado na página oficial do GitHub.

Para conectar seu repositório local ao repositório que você criou no GitHub, adicione a origem remota ao seu repositório local, substituindo username e repository pelo seu próprio repositório:

git remote add origin https://github.com/username/repository.git

Adicione, faça o commit e envie seu código para o repositório do Git:

git add .
git commit -m "Initial commit"
git push

Observe que, como configuramos a Kinsta para realizar a implantação automaticamente a cada push no repositório, nosso primeiro build falha. Isso ocorre porque ainda não conectamos o banco de dados ao aplicativo, o que faremos no próximo passo.

Etapa 5: Implante no Kinsta.com

  1. Faça login em sua conta do Kinsta.com.
  2. No seu painel, clique em Adicionar serviços e selecione Aplicativo.
  3. Conecte-se a um provedor Git.

Conectando um provedor Git.
Conectando um provedor Git.

Configure os detalhes do seu aplicativo

  1. Adicione o repositório e selecione a branch padrão.
  2. (opcional) Escolha Implantações automáticas para essa branch padrão.
  3. Adicione o nome do aplicativo. Ele é usado para identificar o aplicativo em seu painel.
  4. Escolha o local do centro de dados. Escolha o local mais próximo do seu público.
Adicionando o aplicativo.
Adicionando o aplicativo.

Nesta etapa, você pode adicionar variáveis de ambiente (exemplos). Seu aplicativo Rails recém-gerado vem com uma chave-mestra que descriptografa e lê segredos no arquivo de credenciais na pasta de configuração. Nunca mantenha sua chave-mestra no controle de versão (ela já está no arquivo .gitignore).

Para permitir a descriptografia, você precisa configurar as variáveis usando uma chave especial. Expanda as variáveis de ambiente, copie o valor do seu arquivo local de chave-mestra e cole no campo de entrada Valor 1 para a variável RAILS_MASTER_KEY:

Variáveis de ambiente.
Variáveis de ambiente.

Configure seu ambiente de build

  1. Escolha seus recursos de build.
  2. Para aplicativos Rails, selecione Usar Buildpacks.
  3. Clique em Continuar.

Usando Buildpacks.
Usando Buildpacks.

Configure os recursos do seu aplicativo

  1. Deixe o campo Comando Start vazio, pois ele é definido por meio do comando do arquivo criado em nossas etapas anteriores bin/start.sh.
  2. Clique em Continuar.

Configurando processos.
Configurando processos.

Crie o banco de dados do seu aplicativo

Precisamos fazer a configuração final da conexão para o banco de dados.

  1. No menu do Painel MyKinsta à esquerda, clique em Bancos de Dados e depois no nome do banco de dados recém-criado.
  2. Sob o título Informações, você verá um subtítulo Conexões internas e clique em Adicionar aplicativo.
  3. No menu suspenso, selecione seu aplicativo Rails.
  4. Marque a caixa Adicionar variáveis de ambiente ao aplicativo.
  5. Clique em Adicionar conexão.

Conexões internas.
Conexões internas.

Configure seu banco de dados local

Abra o arquivo config/database.yml e atualize a configuração do banco de dados de acordo com as credenciais do banco de dados do MyKinsta.

Exemplo:

production:
  adapter: postgresql  
  encoding: unicode  
  pool: 5
  database: <%= ENV["DB_NAME"] %>
  host: <%= ENV["DB_HOST"] %>
  username: <%= ENV["DB_USER"] %>
  password: <%= ENV["DB_PASSWORD"] %> 

Encontre mais informações sobre como lidar com conexões de banco de dados em nossa documentação de Configurações.

Confirme sua configuração e insira os detalhes de pagamento para finalizar a configuração do aplicativo. A Kinsta irá implantá-lo em alguns minutos.

Resumo

Ao seguir este guia, você configurou e implantou com sucesso seu aplicativo Ruby on Rails versão 7.1 com um banco de dados PostgreSQL para ser hospedado na Kinsta.

Agora você pode se concentrar no desenvolvimento do seu aplicativo e utilizar os recursos poderosos oferecidos pela Kinsta para uma implantação e hospedagem sem problemas. Lembre-se de consultar a documentação oficial ou buscar ajuda adicional do suporte da Kinsta sempre que necessário.

Lee Sheppard

Lee is an Agile certified full stack Ruby on Rails developer. With over six years in the tech industry he enjoys teaching, coaching Agile, and mentoring others. Lee also speaks at tech related events and has a background in design and illustration.