Ruby: Distribuire in produzione

Distribuisci codice Ruby in produzione in pochi minuti con Stackhero

👋 Benvenuti nella documentazione di Stackhero!

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

  • Distribuisca la sua applicazione in pochi secondi con un semplice git push.
  • Utilizzi il suo nome di dominio e benefici della configurazione automatica dei certificati HTTPS per una maggiore sicurezza.
  • Goda della tranquillità grazie a backup automatici, aggiornamenti con un clic e una tariffazione semplice, trasparente e prevedibile.
  • Ottenga prestazioni ottimali e sicurezza avanzata grazie a un'infrastruttura privata e dedicata.

Risparmi tempo e semplifichi la sua vita: bastano 5 minuti per provare la soluzione di Ruby cloud hosting di Stackhero!

Il servizio di cloud hosting Ruby di Stackhero rende semplice mettere online i tuoi progetti Ruby in pochi minuti. Avrai a disposizione una piattaforma solida, progettata per semplificare il deployment e permetterti di concentrarti sulla tua applicazione, non sull'infrastruttura.

Ecco cosa ottieni:

  • 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 un'infrastruttura dedicata e isolata, per garantire sicurezza e privacy elevate.
  • Approfitta di HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressione GZIP e Brotli, supporto ETag, accesso alle porte TCP e UDP, e molto altro.

Per iniziare ti basta avere Git installato sul tuo computer.

Se vuoi risparmiare tempo o preferisci evitare la configurazione di un ambiente locale, puoi valutare Code-Hero di Stackhero.

Code-Hero è un ambiente di sviluppo accessibile direttamente dal browser, compatibile con qualsiasi dispositivo. Basato su un fork di VSCode, include già gli strumenti principali 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 è semplice. Ecco il flusso di lavoro, con ogni passaggio spiegato di seguito:

  1. Crea un servizio Ruby su Stackhero.
  2. Aggiungi la tua chiave pubblica SSH alla 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 incontri problemi durante il deployment, la documentazione Troubleshooting ti aiuta a trovare rapidamente soluzioni e a proseguire senza interruzioni.

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 visualizzare la tua chiave pubblica eseguendo:

cat ~/.ssh/id_*.pub

Non hai ancora una chiave SSH?

Puoi generarne una 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: per risparmiare tempo in futuro, puoi aggiungere la tua chiave pubblica SSH al tuo profilo Stackhero. I nuovi servizi che creerai la includeranno automaticamente.

Clicca sulla tua foto profilo in alto a destra nella dashboard, seleziona "Il tuo profilo" e aggiungi la tua chiave pubblica SSH.

La distribuzione su Stackhero utilizza la CLI di Git e il comando git push, quindi non sono necessari 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, aggiungi un file Makefile nella root del tuo progetto. Questo file definisce i comandi che Stackhero utilizzerà durante il deployment.

Se non hai mai usato Makefile o il comando make, i passaggi seguenti ti guideranno nella creazione di un Makefile funzionante.

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

Cosa fa questo Makefile:

  1. La regola run è obbligatoria. Stackhero cerca questa regola come punto di ingresso durante il deployment. Mantieni questo nome per la regola.
  2. L'esempio utilizza rake e bundle, ma puoi adattare questi comandi in base alla tua applicazione.
  3. Ogni riga di comando deve iniziare con un carattere di tabulazione, non con spazi. Se visualizzi un errore *** missing separator, controlla che ci siano le tabulazioni.

Nell'esempio sopra, il deployment eseguirà:

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

Ora sei pronto per distribuire. Puoi usare:

git push stackhero main

Durante il primo deployment, Git ti chiederà di confermare l'impronta digitale della chiave SSH. Inserisci "yes" per continuare.

Dopo pochi istanti, la tua applicazione sarà online.

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

Accedi alla tua applicazione distribuita tramite l'URL indicato nella dashboard Stackhero. L'indirizzo sarà simile a https://<XXXXXX>.stackhero-network.com.

La tua applicazione è ora attiva in produzione.

Se riscontri problemi durante il deployment, la sezione Troubleshooting copre i problemi più comuni e le relative soluzioni.

Hai visto come distribuire codice Ruby in produzione utilizzando Stackhero, con un processo pensato per essere potente e semplice allo stesso tempo.

Per argomenti avanzati, come la distribuzione di diversi branch, tag o commit Git, e la gestione di più ambienti come staging e produzione, consulta la documentazione Advanced Deployment Usages. Troverai anche suggerimenti sull'utilizzo delle variabili d'ambiente e altre funzionalità utili.

Se dovessero sorgere domande o problemi, la documentazione Troubleshooting è sempre disponibile per aiutarti a mantenere il tuo workflow di deployment fluido ed efficiente.