In questa guida vedremo insieme il processo di impostazione e configurazione di una prima applicazione Ruby on Rails versione 7.1 da distribuire e ospitare su Kinsta. Che siate alle prime armi o degli sviluppatori esperti di Ruby on Rails, questo tutorial vi aiuterà a iniziare a distribuire la vostra applicazione su Kinsta.
Prerequisiti
Prima di immergerci in questa guida, partiamo dal presupposto che abbiate una conoscenza di base di Git e Ruby on Rails, compresa l’installazione di Ruby, Rails e delle dipendenze necessarie sulla vostra macchina di sviluppo locale.
Passaggio 1: Configurare un account di hosting Kinsta
Visitate il sito web di Kinsta e create un nuovo account se non ne avete già uno. Configurate il vostro nome di dominio o utilizzate l’URL Kinsta assegnato, che verrà fornito al momento della distribuzione.
Passaggio 2: Creare una nuova applicazione Ruby on Rails
A questo punto, apriamo il terminale e navighiamo nella directory in cui vogliamo creare la nostra nuova applicazione Rails. Eseguiamo il comando qui sotto per crearla:
rails new myapp --database=postgresql --javascript=esbuild --css=tailwind
Questo comando crea una nuova applicazione Rails chiamata myapp
con PostgreSQL come adattatore per il database, esbuild
per compilare il nostro Javascript e Tailwind CSS
come framework.
Potete sostituire myapp
con il nome dell’applicazione che desiderate.
Per un elenco completo delle opzioni disponibili da configurare dal comando rails new
, eseguiamo:
rails new --help
Passaggio 3: Configurare l’applicazione Rails
Passiamo alla directory dell’applicazione:
cd myapp
Assicuratevi che durante la creazione del bundle dell’applicazione Rails la configurazione aggiunga anche la piattaforma Linux, in quanto è il sistema operativo utilizzato per la distribuzione. Inserite il seguente comando nel terminale:
bundle lock --add-platform x86_64-linux
Script del processo web
Aggiungiamo un file start.sh alla directory bin dell’applicazione. Questo assicura che il server avvii l’applicazione ed esegua i comandi necessari per avviare e aggiornare il database prima dell’esecuzione. Nel terminale, creiamo il file inserendo:
touch bin/start.sh
All’interno di questo file aggiungiamo quanto segue:
#!/bin/bash
bundle exec rails db:prepare
bundle exec rails server
Creare una home
E per avere un Hello Word, creiamo una pagina Home
per l’applicazione. Nel terminale, inseriamo:
bin/rails generate controller Home index
Questo darà come risultato:
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
Apriamo app/views/home/index.html.erb e sostituiamo il suo contenuto con:
<h1>Hello, Kinsta!</h1>
Impostazione della pagina iniziale dell’applicazione
Apriamo config/routes.rb e aggiungiamo la seguente route principale all’inizio del blocco Rails.application.routes.draw:
Rails.application.routes.draw do
root "home#index"
get "/home", to: "home#index"
end
Ora, quando eseguiamo la nostra applicazione in locale, vediamo la nostra nuova pagina iniziale. Poiché abbiamo generato la nostra nuova applicazione con l’aggiunta di esbuild
, abbiamo un comando semplificato che ci aiuta ad avviare la nostra applicazione. Eseguendo il seguente comando, Rails avvia il server e controlla le modifiche CSS e Javascript con il reload in tempo reale:
bin/dev
Creare un database
Poiché abbiamo creato la nostra applicazione Rails con un database PostgreSQL, dobbiamo configurarlo attraverso la dashboard di MyKinsta:
- Accediamo al nostro account Kinsta.com e, dal Cruscotto, clicchiamo su Aggiungi servizi e selezioniamo Database.
- Compiliamo i dettagli di base e conferma nella pagina di riepilogo cliccando su Crea database.
Passaggio 4: Prepararsi alla distribuzione
Iniziamo creando un nuovo repository su GitHub per ospitare la nostra base di codice.
Inizializziamo un repository Git localmente nella directory dell’applicazione Rails a livello di root:
git init
Creiamo un file .gitignore nella root della directory dell’applicazione ed escludiamo i file e le directory non necessarie dal controllo di versione. Un esempio di file .gitignore per un’applicazione Rails si trova sulla pagina ufficiale di GitHub.
Per collegare il repository locale al repo creato su GitHub, aggiungiamo l’origine remota al repo locale, sostituendo username
e repository
con i nostri:
git remote add origin https://github.com/username/repository.git
Aggiungiamo, eseguiamo il commit e inviamo il codice al repository Git:
git add .
git commit -m "Initial commit"
git push
Notate che, poiché abbiamo impostato Kinsta per eseguire il deploy automatico a ogni push del repository, la nostra prima build fallisce. Questo accade perché non abbiamo ancora collegato il database all’applicazione, cosa che faremo nel prossimo passo.
Passaggio 5: Distribuzione su Kinsta.com
- Accediamo all’account Kinsta.com.
- Dal cruscotto, clicchiamo su Aggiungi servizi e selezioniamo Applicazione.
- Colleghiamoci a un provider Git.
Impostare i dettagli dell’applicazione
- Aggiungiamo il repository e selezioniamo il branch predefinito.
- (Opzionale) Scegliamo le distribuzioni automatiche per questo branch predefinito.
- Aggiungiamo il nome dell’applicazione. Verrà utilizzato per identificare l’applicazione nel Cruscotto.
- Scegliamo la posizione del data center. Scegliamo la sede più vicina al nostro pubblico.
In questa fase possiamo aggiungere le variabili d’ambiente (esempi). L’applicazione Rails appena generata viene fornita con una chiave master che decifra e legge i segreti nel file delle credenziali nella cartella config. Non conservate mai la chiave master nel controllo di versione (si trova già nel file .gitignore ).
Per consentire la decrittazione, dobbiamo impostare le variabili utilizzando una chiave speciale. Espandiamo la voce Variabili d’ambiente, copiamo il valore della chiave master locale e incolliamolo nell’input Valore 1 della variabile RAILS_MASTER_KEY
:
Configurare l’ambiente di build
- Scegliamo le risorse di build.
- Per le applicazioni Rails, selezioniamo Usa Buildpacks.
- Clicchiamo su Continua.
Configurare le risorse dell’applicazione
- Lasciamo vuoto il campo del comando Start, poiché questo viene definito tramite il comando del file creato nei passi precedenti bin/start.sh.
- Clicchiamo su Continua.
Creare il database delle applicazioni
Dobbiamo effettuare la configurazione finale della connessione al database.
- Dal menu del Cruscotto di MyKinsta a sinistra, clicchiamo su Database e clicchiamo sul nome del database appena creato.
- Sotto la voce Info, vedremo una sottovoce Connessioni interne. Clicchiamo su Aggiungi applicazione.
- Dal menu a tendina, selezioniamo la nostra applicazione Rails.
- Selezioniamo la casella Aggiungi variabili d’ambiente all’applicazione.
- Clicchiamo su Aggiungi connessione.
Configurare il database locale
Apriamo il file config/database.yml e aggiorniamo la configurazione del database in base alle credenziali del nostro database MyKinsta.
Esempio:
production:
adapter: postgresql
encoding: unicode
pool: 5
database: <%= ENV["DB_NAME"] %>
host: <%= ENV["DB_HOST"] %>
username: <%= ENV["DB_USER"] %>
password: <%= ENV["DB_PASSWORD"] %>
Per maggiori informazioni sulla gestione delle connessioni al database, consultate la nostra documentazione sulle impostazioni.
Confermiamo la configurazione e inseriamo i dettagli del pagamento per completare la configurazione dell’applicazione. Kinsta la distribuirà in pochi minuti.
Riepilogo
Seguendo questa guida, abbiamo impostato e configurato con successo un’applicazione Ruby on Rails versione 7.1 con un database PostgreSQL da distribuire e ospitare su Kinsta.
Ora potete concentrarvi sullo sviluppo dell’applicazione e utilizzare le potenti funzionalità fornite da Kinsta per una distribuzione e un hosting senza problemi. Ricordate, potete sempre consultare la documentazione ufficiale o chiedere ulteriore assistenza al supporto di Kinsta se necessario.
Lascia un commento