Ruby: Deployen naar productie

Hoe u uw Ruby-code binnen enkele minuten naar productie kunt deployen

👋 Welkom bij de Stackhero-documentatie!

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

  • Implementeer uw applicatie in seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
  • Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
  • Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.

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

De Stackhero Ruby cloud hosting service maakt het eenvoudig om uw Ruby-projecten binnen enkele minuten naar productie te deployen. U profiteert van een krachtig platform gecombineerd met een intuïtieve gebruikerservaring.

Dit is wat u krijgt:

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

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

Wilt u tijd besparen of liever geen complexe lokale omgeving opzetten? Kijk dan eens naar Stackhero's Code-Hero.

Code-Hero is een kant-en-klare ontwikkelomgeving die u direct vanuit uw browser kunt gebruiken, op elke computer, tablet of telefoon. Gebaseerd op een fork van VSCode, bevat het alle essentiële tools vooraf geïnstalleerd en geconfigureerd, zodat u direct kunt beginnen met coderen zonder installatiegedoe.

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

Het deployen van uw Ruby-applicatie naar Stackhero is een eenvoudig proces. Dit zijn de stappen die u volgt, en we lichten ze hieronder toe:

  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.

Komt u problemen tegen tijdens het deployen? De Troubleshooting documentatie helpt u snel een oplossing te vinden. Het is altijd verstandig daar eerst te kijken om tijd en frustratie te besparen.

Heeft u nog geen Stackhero for Ruby-service aangemaakt? Dit kan eenvoudig via uw Stackhero-dashboard in slechts een paar minuten.

Zodra uw Ruby-service draait, is de volgende stap het toevoegen van uw SSH-public key. U vindt uw public key door het volgende commando uit te voeren:

cat ~/.ssh/id_*.pub

Nog geen SSH-sleutels?

U kunt ze 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: Wilt u in de toekomst tijd besparen? Voeg uw SSH-public key toe aan uw profiel, zodat deze automatisch wordt toegevoegd aan nieuwe services die u aanmaakt.

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

Deployen naar Stackhero gebruikt de Git CLI en het git push-commando, dus u hoeft geen extra tools te installeren.

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, maakt u een Makefile aan in 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? Geen zorgen, de onderstaande stappen begeleiden u er doorheen.

Maak een Makefile aan met de volgende inhoud:

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

Dit gebeurt er in deze Makefile:

  1. De run-regel is verplicht; Stackhero voert deze automatisch uit tijdens het deployen. Houd deze naam aan, want dit is het entrypoint.
  2. De commando's gebruiken rake en bundle, maar u kunt deze aanpassen aan de behoeften van uw applicatie.
  3. Zorg ervoor dat elke commandoregel begint met een tab, niet met spaties. Als u een foutmelding als *** missing separator ziet, controleer dan de opmaak.

In het bovenstaande voorbeeld zal de deployment:

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

U bent klaar om te starten. Om uw code naar Stackhero te deployen, gebruikt u:

git push stackhero main

De eerste keer dat u dit uitvoert, wordt u gevraagd om de SSH key fingerprint te bevestigen. Antwoord gewoon met "yes" om door te gaan.

Na een korte wachttijd is uw applicatie live.

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

U kunt uw gedeployde applicatie bezoeken via de website-URL die in uw Stackhero-dashboard wordt weergegeven. Dit ziet er meestal uit als https://<XXXXXX>.stackhero-network.com.

Gefeliciteerd. Uw applicatie draait nu in productie.

Problemen met deployen?

Bekijk zeker de Troubleshooting sectie voor snelle oplossingen.

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

Wilt u meer weten? De documentatie Advanced Deployment Usages behandelt onderwerpen zoals het deployen van verschillende git-branches, specifieke tags of commits, en het beheren van meerdere omgevingen zoals staging en productie. U vindt er ook tips voor het werken met omgevingsvariabelen en meer.

En onthoud: als u problemen ondervindt tijdens het deployen, is de Troubleshooting documentatie een uitstekende bron om ze efficiënt op te lossen en uw workflow soepel te houden.