Ruby: Distribuire in produzione

Come distribuire il tuo codice Ruby in produzione in pochi minuti

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Ruby cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Distribuisci la tua applicazione in pochi secondi con un semplice git push.
  • Usa il tuo nome di dominio e beneficia della configurazione automatica dei certificati HTTPS per una sicurezza potenziata.
  • Goditi la tranquillità con backup automatici, aggiornamenti con un clic, e una tariffazione semplice, trasparente e prevedibile.
  • Ottieni prestazioni ottimali e una sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplificati la vita: bastano solo 5 minuti per provare la soluzione Ruby cloud hosting di Stackhero!

Il servizio di cloud hosting Ruby di Stackhero ti permette di distribuire i tuoi progetti Ruby in produzione in pochi minuti, combinando una piattaforma potente con un'esperienza utente intuitiva.

Ecco cosa otterrai:

  • Distribuisci il tuo codice con un semplice git push.
  • Usa il tuo dominio personalizzato, con gestione automatica del certificato TLS (HTTPS).
  • Esegui la tua applicazione su una VM dedicata e privata per garantire il massimo livello di sicurezza e privacy.
  • Approfitta del supporto per HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressione GZIP e Brotli, ETag, accesso alle porte TCP e UDP e molto altro.

L'unica cosa di cui hai bisogno per iniziare a distribuire i tuoi progetti su Stackhero è Git installato sul tuo computer.

Se desideri risparmiare tempo o preferisci evitare di configurare un ambiente locale complesso, puoi valutare Code-Hero di Stackhero.

Code-Hero è una piattaforma di sviluppo pronta all'uso, accessibile direttamente dal browser su qualsiasi computer, tablet o smartphone. Basata su un fork di VSCode, include tutti gli strumenti essenziali già preinstallati e preconfigurati, così puoi iniziare a programmare subito senza alcuna configurazione.

<!-- ![Esempio di un'istanza Code-Hero in esecuzione direttamente nel browser](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Distribuire la tua applicazione Ruby su Stackhero è un processo semplice. Ecco i passaggi che seguirai, che vedremo nel dettaglio:

  1. Crea un servizio Ruby su Stackhero.
  2. Aggiungi la tua chiave pubblica SSH nella configurazione del servizio Ruby.
  3. Configura il comando git push sulla tua piattaforma di sviluppo.
  4. Aggiungi un Makefile al tuo progetto.
  5. Distribuisci il tuo codice in produzione.

Se riscontri problemi durante la distribuzione, la documentazione Troubleshooting può aiutarti a trovare rapidamente una soluzione. È sempre una buona idea consultarla per prima, per risparmiare tempo e ridurre la frustrazione.

Se non hai ancora creato un servizio Stackhero for Ruby, puoi farlo dalla tua dashboard Stackhero in pochi minuti.

Una volta che il servizio Ruby è attivo, il passo successivo è aggiungere la tua chiave pubblica SSH. Puoi trovare la tua chiave pubblica eseguendo:

cat ~/.ssh/id_*.pub

Non hai ancora una coppia di chiavi SSH?

Puoi generarla con:

ssh-keygen -t ed25519

Per aggiungere la tua chiave SSH, vai sulla dashboard Stackhero, seleziona il tuo servizio Ruby, clicca su "Configura" e incolla la tua chiave pubblica nella sezione "Chiavi pubbliche SSH".

<!-- ![Esempio di configurazione di un servizio Ruby](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Suggerimento: Vuoi risparmiare tempo in futuro? Puoi aggiungere la tua chiave pubblica SSH al tuo profilo, così sarà inclusa automaticamente in tutti i nuovi servizi che creerai.

Basta cliccare sulla tua immagine profilo in alto a destra nella dashboard, selezionare "Il tuo profilo" e aggiungere lì la tua chiave pubblica SSH.

La distribuzione su Stackhero utilizza la CLI di Git e il comando git push, quindi non è necessario installare strumenti aggiuntivi.

Puoi copiare il comando git remote dalla pagina principale del tuo servizio nella dashboard Stackhero. Di solito appare così:

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

Per indicare a Stackhero come eseguire la tua applicazione, devi creare un file Makefile nella root del tuo progetto. Questo file definisce i comandi che Stackhero utilizzerà durante la distribuzione.

Se non hai mai usato i Makefile o il comando make, non preoccuparti: i passaggi seguenti ti guideranno passo dopo passo.

Crea un file Makefile con il seguente contenuto:

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Ecco cosa succede in questo Makefile:

  1. La regola run è obbligatoria: Stackhero la eseguirà automaticamente durante la distribuzione. Mantieni questo nome, perché funge da punto di ingresso.
  2. I comandi utilizzano rake e bundle, ma puoi personalizzarli in base alle esigenze della tua applicazione.
  3. Assicurati che ogni riga di comando inizi con un carattere di tabulazione, non con spazi. Se ricevi un errore come *** missing separator, controlla questo aspetto.

Nell'esempio sopra, la distribuzione eseguirà:

  1. La precompilazione degli asset come JavaScript e CSS nella cartella public/assets.
  2. L'esecuzione delle eventuali migrazioni del database.
  3. L'avvio del server Puma per servire la tua applicazione.

Ora sei pronto. Per distribuire il tuo codice su Stackhero, puoi usare:

git push stackhero main

La prima volta che esegui questo comando, ti verrà chiesto di confermare l'impronta digitale della chiave SSH. Rispondi semplicemente "yes" per continuare.

Dopo qualche istante, la tua applicazione sarà online.

<!-- ![Esempio di distribuzione del codice Ruby su Stackhero tramite il comando `git push`](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Puoi visitare la tua applicazione distribuita all'URL indicato nella dashboard Stackhero. Tipicamente avrà un formato simile a https://<XXXXXX>.stackhero-network.com.

Congratulazioni. La tua applicazione è ora attiva in produzione.

Hai problemi con la distribuzione?

Consulta la sezione Troubleshooting per soluzioni rapide.

Hai appena imparato come distribuire codice Ruby in produzione utilizzando Stackhero, con un processo semplice e potente.

Se vuoi approfondire, la documentazione Advanced Deployment Usages tratta argomenti come la distribuzione di diversi branch git, tag o commit specifici, e la gestione di più ambienti come staging e produzione. Troverai anche suggerimenti per lavorare con le variabili d'ambiente e molto altro.

E ricorda: se dovessi incontrare problemi durante la distribuzione, la documentazione Troubleshooting è una risorsa preziosa per aiutarti a risolverli rapidamente e mantenere il tuo workflow fluido.