Ruby: Deployen naar productie

Zet Ruby-code in productie in enkele minuten met Stackhero

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Ruby cloud oplossing met tal van voordelen, waaronder:

  • Deploy uw applicatie binnen enkele seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS certificaten voor extra beveiliging.
  • Geniet van gemoedsrust dankzij automatische back-ups, one-click updates en een eenvoudige, transparante en voorspelbare prijsstelling.
  • Optimale performance en sterke security dankzij een private, dedicated infrastructuur.

Bespaar tijd en maak uw leven eenvoudiger: het kost slechts 5 minuten om de Ruby cloud hosting oplossing van Stackhero uit te proberen!

De Stackhero Ruby cloud hosting service maakt het eenvoudig om uw Ruby-projecten binnen enkele minuten live te zetten. U krijgt een robuust platform dat het deployen stroomlijnt, zodat u zich kunt richten op uw applicatie en niet op de infrastructuur.

Dit krijgt u allemaal:

  • Deploy uw code met een simpele git push.
  • Gebruik uw eigen domeinnaam, met automatische TLS-certificaat (HTTPS) beheer.
  • Draai uw applicatie op een dedicated, geïsoleerde infrastructuur voor optimale beveiliging en privacy.
  • Profiteer van HTTP/2, TLS 1.3 (HTTPS), WebSockets, GZIP- en Brotli-compressie, ETag-ondersteuning, toegang tot TCP- en UDP-poorten, en meer.

Het enige wat u nodig heeft om te starten is Git geïnstalleerd op uw computer.

Als u tijd wilt besparen of liever geen lokale omgeving wilt configureren, kunt u Stackhero's Code-Hero overwegen.

Code-Hero is een browsergebaseerde ontwikkelomgeving die werkt op elk apparaat. Gebouwd op een fork van VSCode, met essentiële tools vooraf geïnstalleerd en geconfigureerd, zodat u direct kunt beginnen met coderen zonder enige setup.

<!-- ![Voorbeeld van een Code-Hero-instantie die direct in de browser draait](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Het deployen van uw Ruby-applicatie naar Stackhero is eenvoudig. Dit is de workflow; elke stap wordt hieronder toegelicht:

  1. Maak een Ruby-service aan op Stackhero.
  2. Voeg uw SSH-public key toe aan de configuratie van uw Ruby-service.
  3. Stel het git push-commando in op uw ontwikkelplatform.
  4. Voeg een Makefile toe aan uw project.
  5. Deploy uw code naar productie.

Mocht u problemen ondervinden tijdens het deployen, dan vindt u in de Troubleshooting documentatie snel oplossingen om verder te kunnen.

Als u nog geen Stackhero for Ruby-service heeft aangemaakt, kunt u dit in een paar minuten doen via uw Stackhero-dashboard.

Zodra uw Ruby-service draait, is de volgende stap het toevoegen van uw SSH-public key. U kunt uw public key tonen met:

cat ~/.ssh/id_*.pub

Nog geen SSH-sleutels?

U kunt er een genereren met:

ssh-keygen -t ed25519

Om uw SSH-sleutel toe te voegen, gaat u naar uw Stackhero-dashboard, selecteert u uw Ruby-service, klikt u op "Configure", en plakt u uw public key in het veld "SSH public keys".

<!-- ![Voorbeeld van een Ruby-serviceconfiguratie](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Tip: Om later tijd te besparen, kunt u uw SSH-public key toevoegen aan uw Stackhero-profiel. Nieuwe services die u aanmaakt, nemen deze automatisch over.

Klik rechtsboven op uw profielfoto in het dashboard, kies "Your profile" en voeg uw SSH-public key toe.

Deployen naar Stackhero gebruikt de Git CLI en het git push-commando, dus extra tools zijn niet nodig.

U kunt het git remote-commando kopiëren vanaf de hoofdpagina van uw service in het Stackhero-dashboard. Dit ziet er meestal zo uit:

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

Om Stackhero te laten weten hoe uw applicatie gestart moet worden, voegt u een Makefile toe aan de root van uw project. Dit bestand definieert de commando's die Stackhero tijdens het deployen gebruikt.

Bent u nieuw met Makefiles of het make-commando? De onderstaande stappen helpen u bij het maken van een werkende Makefile.

Maak een Makefile met de volgende inhoud:

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

Wat deze Makefile doet:

  1. De run-regel is verplicht. Stackhero zoekt naar deze regel als entrypoint tijdens het deployen. Houd deze naam aan.
  2. Het voorbeeld gebruikt rake en bundle, maar u kunt deze commando's aanpassen aan uw applicatie.
  3. Elke commandoregel moet beginnen met een tab, niet met spaties. Krijgt u een *** missing separator-fout, controleer dan of u tabs gebruikt.

In het bovenstaande voorbeeld zal de deployment:

  1. Assets zoals JavaScript en CSS precompileren in de map public/assets.
  2. Database-migraties uitvoeren.
  3. De Puma-server starten om uw applicatie te draaien.

U bent klaar om te deployen. Gebruik:

git push stackhero main

Bij de eerste deployment zal Git u vragen om de SSH key fingerprint te bevestigen. Typ "yes" om door te gaan.

Na een korte wachttijd is uw applicatie live.

<!-- ![Voorbeeld van het deployen van Ruby-code naar Stackhero met het `git push`-commando](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Bezoek uw gedeployde applicatie via de website-URL die in uw Stackhero-dashboard wordt getoond. Het adres ziet er uit als https://<XXXXXX>.stackhero-network.com.

Uw applicatie draait nu in productie.

Mocht u problemen ondervinden tijdens het deployen, dan vindt u in de sectie Troubleshooting veelvoorkomende issues en oplossingen.

U heeft gezien hoe u Ruby-code naar productie kunt deployen met Stackhero, via een proces dat zowel krachtig als eenvoudig is.

Voor geavanceerde onderwerpen, zoals het deployen van verschillende Git-branches, tags of commits, en het beheren van meerdere omgevingen zoals staging en productie, raadpleeg de documentatie Advanced Deployment Usages. Hier vindt u ook tips voor het werken met omgevingsvariabelen en andere handige features.

Heeft u vragen of loopt u ergens tegenaan? De Troubleshooting documentatie is altijd beschikbaar om uw deployment workflow soepel en efficiënt te houden.