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 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 naar productie te deployen. U profiteert van een krachtig platform gecombineerd met een intuïtieve gebruikerservaring.
Dit krijgt u:
- 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 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.
Vereisten
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, met alle essentiële tools vooraf geïnstalleerd en geconfigureerd, zodat u direct kunt beginnen met coderen zonder installatiegedoe.
Stappen om te deployen naar Stackhero
Het deployen van uw Ruby-applicatie naar Stackhero is eenvoudig. Dit zijn de stappen die u volgt, we lichten ze hieronder toe:
- Maak een Ruby-service aan op Stackhero.
- Voeg uw SSH-public key toe aan de configuratie van uw Ruby-service.
- Stel het
git push-commando in op uw ontwikkelplatform. - Voeg een Makefile toe aan uw project.
- 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.
Uw Stackhero for Ruby-service configureren
Heeft u nog geen Stackhero for Ruby-service aangemaakt? Dit kan eenvoudig via uw Stackhero-dashboard in 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".
<!--  -->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.
Het git push-commando instellen voor deployment
Deployen naar Stackhero gebruikt de Git CLI en het git push-commando. U hoeft dus 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
Een Makefile maken voor Stackhero-deployment
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 de deployment zal uitvoeren.
Nog niet bekend met Makefiles of het
make-commando? Geen zorgen, de onderstaande stappen begeleiden u er doorheen.
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
Dit gebeurt er in deze Makefile:
- De
run-regel is verplicht; Stackhero voert deze automatisch uit tijdens de deployment. Houd deze naam aan, want dit is het entrypoint. - De commando's gebruiken
rakeenbundle, maar u kunt ze aanpassen aan uw eigen applicatie. - Zorg ervoor dat elke commandoregel begint met een tab, niet met spaties. Krijgt u een foutmelding als
*** missing separator, controleer dan de opmaak.
In het bovenstaande voorbeeld zal de deployment:
- Assets zoals JavaScript en CSS precompileren in de map
public/assets. - Eventuele benodigde database-migraties uitvoeren.
- De Puma-server starten om uw applicatie te draaien.
Uw Ruby-applicatie deployen
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 de SSH-key fingerprint te bevestigen. Antwoord gewoon met "yes" om door te gaan.
Na een korte wachttijd is uw applicatie live.
<!--  -->U kunt uw gedeployde applicatie bezoeken via de website-URL die in uw Stackhero-dashboard wordt getoond. Dit ziet er meestal uit als https://<XXXXXX>.stackhero-network.com.
Gefeliciteerd. Uw applicatie draait nu in productie.
Problemen met deployen?
Bekijk zeker de sectie Troubleshooting voor snelle oplossingen.
Conclusie
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 environment variables 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.