Ruby: Creazione di un Makefile per la distribuzione su Stackhero

Questa documentazione fa parte della guida Distribuire in produzione. Consulta la guida completa qui: 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!

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.