Ruby: Diegimas į gamybinę aplinką
Kaip per kelias minutes įdiegti savo Ruby kodą į gamybą
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Įdiekite savo programą per kelias sekundes su paprastu
git push.- Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
- Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
- Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.
Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Ruby cloud hosting sprendimą užtrunka tik 5 minutes!
Stackhero Ruby debesų talpinimo paslauga leidžia lengvai įdiegti jūsų Ruby projektus į gamybinę aplinką vos per kelias minutes, derinant galingą platformą su intuityvia naudotojo patirtimi.
Štai ką gausite:
- Diekite savo kodą paprastu
git pushveiksmu. - Naudokite savo pasirinktą domeną su automatiniu TLS sertifikato (HTTPS) valdymu.
- Paleiskite savo aplikaciją dedikuotoje, privačioje VM, užtikrinančioje aukščiausio lygio saugumą ir privatumą.
- Pasinaudokite HTTP/2, TLS 1.3 (HTTPS), WebSockets, GZIP ir Brotli suspaudimo, ETag, TCP ir UDP prievadų prieigos bei kitų funkcijų palaikymu.
Būtinos sąlygos
Vienintelis dalykas, kurio reikia norint pradėti diegti projektus Stackhero platformoje, yra jūsų kompiuteryje įdiegtas Git.
<!--  -->Jei norite sutaupyti laiko arba nenorite konfigūruoti sudėtingos vietinės aplinkos, rekomenduojame išbandyti Stackhero Code-Hero.
Code-Hero – tai paruošta naudoti kūrimo platforma, prieinama tiesiai iš jūsų naršyklės bet kuriame kompiuteryje, planšetėje ar telefone. Ji sukurta remiantis VSCode fork'u ir turi visus būtinus įrankius jau įdiegtus ir sukonfigūruotus, tad galite pradėti programuoti iš karto, be jokio papildomo derinimo.
Diegimo į Stackhero žingsniai
Ruby aplikacijos diegimas į Stackhero yra paprastas procesas. Štai kokius žingsnius atliksite – kiekvieną jų aptarsime detaliau:
- Sukurkite Ruby paslaugą Stackhero platformoje.
- Pridėkite savo SSH viešąjį raktą prie Ruby paslaugos konfigūracijos.
- Paruoškite
git pushkomandą savo kūrimo aplinkoje. - Pridėkite Makefile prie savo projekto.
- Įdiekite savo kodą į gamybą.
Jei diegimo metu iškyla problemų, Trikčių šalinimo dokumentacija padės greitai rasti sprendimą. Visada verta pirmiausia ten pasitikrinti, kad sutaupytumėte laiko ir išvengtumėte nereikalingo streso.
Stackhero for Ruby paslaugos konfigūravimas
Jei dar nesukūrėte Stackhero for Ruby paslaugos, tai galite padaryti savo Stackhero valdymo pulte vos per kelias minutes.
Kai jūsų Ruby paslauga jau veikia, kitas žingsnis – pridėti savo SSH viešąjį raktą. Viešąjį raktą galite rasti įvykdę šią komandą:
cat ~/.ssh/id_*.pub
Neturite SSH raktų?
Galite juos sugeneruoti su:
ssh-keygen -t ed25519
Norėdami pridėti SSH raktą, eikite į Stackhero valdymo pultą, pasirinkite savo Ruby paslaugą, spauskite „Configure“ ir įklijuokite viešąjį raktą į „SSH public keys“ sekciją.
<!--  -->Patarimas: Norite ateityje sutaupyti laiko? Pridėkite savo SSH viešąjį raktą prie savo profilio – tada jis bus automatiškai įtrauktas kuriant naujas paslaugas.
Tiesiog spustelėkite savo profilio nuotrauką viršutiniame dešiniajame valdymo pulto kampe, pasirinkite „Your profile“ ir pridėkite ten savo SSH viešąjį raktą.
git push komandos paruošimas diegimui
Diegimas į Stackhero vyksta naudojant Git CLI ir git push komandą, tad papildomų įrankių diegti nereikia.
git remote komandą galite nukopijuoti iš savo paslaugos pagrindinio puslapio Stackhero valdymo pulte. Ji dažniausiai atrodo taip:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Makefile sukūrimas Stackhero diegimui
Kad Stackhero žinotų, kaip paleisti jūsų aplikaciją, projekto šaknyje sukurkite Makefile. Šiame faile aprašomos komandos, kurias Stackhero naudos diegimo metu.
Jei dar nesate susipažinę su Makefile ar
makekomanda, nesijaudinkite – žemiau pateikti žingsniai padės viską suprasti.
Sukurkite Makefile su šiuo turiniu:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
Šiame Makefile vyksta štai kas:
runtaisyklė yra privaloma – Stackhero ją automatiškai vykdys diegimo metu. Palikite šį pavadinimą, nes tai yra įėjimo taškas.- Komandos naudoja
rakeirbundle, tačiau galite jas pritaikyti pagal savo aplikacijos poreikius. - Įsitikinkite, kad kiekviena komandos eilutė prasideda tabuliacijos simboliu, o ne tarpais. Jei matote klaidą kaip
*** missing separator, patikrinkite šį formatavimą.
Aukščiau pateiktame pavyzdyje diegimas atliks šiuos veiksmus:
- Iš anksto sukompiliuos JavaScript ir CSS failus į
public/assetskatalogą. - Paleis visas reikalingas duomenų bazės migracijas.
- Paleis Puma serverį, kuris aptarnaus jūsų aplikaciją.
Jūsų Ruby aplikacijos diegimas
Viskas paruošta. Norėdami įdiegti savo kodą į Stackhero, naudokite:
git push stackhero main
Pirmą kartą vykdant šią komandą, būsite paprašyti patvirtinti SSH rakto „fingerprint“. Tiesiog atsakykite „yes“, kad tęstumėte.
Po trumpos pauzės jūsų aplikacija bus pasiekiama internete.
<!--  -->Savo įdiegtą aplikaciją galite pasiekti Stackhero valdymo pulte nurodytu svetainės adresu. Paprastai jis atrodo taip: https://<XXXXXX>.stackhero-network.com.
Sveikiname. Jūsų aplikacija dabar veikia gamybinėje aplinkoje.
Kyla problemų diegiant?
Būtinai peržiūrėkite Trikčių šalinimo skyrių – ten rasite greitus sprendimus.
Išvada
Jūs ką tik sužinojote, kaip įdiegti Ruby kodą į gamybą naudojant Stackhero – tai paprastas ir galingas procesas.
Jei norite sužinoti daugiau, Išplėstinio diegimo naudojimo dokumentacijoje rasite temas apie skirtingų git šakų, specifinių žymų ar commit'ų diegimą, kelių aplinkų (pvz., staging ir gamybinės) valdymą. Taip pat rasite patarimų, kaip dirbti su aplinkos kintamaisiais ir dar daugiau.
Ir nepamirškite – jei diegimo metu iškyla problemų, Trikčių šalinimo dokumentacija yra puikus šaltinis, padėsiantis greitai jas išspręsti ir užtikrinti sklandų darbą.