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 push veiksmu.
  • 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.

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.

<!-- ![Code-Hero instancijos pavyzdys naršyklėje](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Ruby aplikacijos diegimas į Stackhero yra paprastas procesas. Štai kokius žingsnius atliksite – kiekvieną jų aptarsime detaliau:

  1. Sukurkite Ruby paslaugą Stackhero platformoje.
  2. Pridėkite savo SSH viešąjį raktą prie Ruby paslaugos konfigūracijos.
  3. Paruoškite git push komandą savo kūrimo aplinkoje.
  4. Pridėkite Makefile prie savo projekto.
  5. Į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.

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ą.

<!-- ![Ruby paslaugos konfigūracijos pavyzdys](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

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ą.

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
<!-- ![Ruby Git remote komanda Stackhero valdymo pulte](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

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 make komanda, 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:

  1. run taisyklė yra privaloma – Stackhero ją automatiškai vykdys diegimo metu. Palikite šį pavadinimą, nes tai yra įėjimo taškas.
  2. Komandos naudoja rake ir bundle, tačiau galite jas pritaikyti pagal savo aplikacijos poreikius.
  3. Į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:

  1. Iš anksto sukompiliuos JavaScript ir CSS failus į public/assets katalogą.
  2. Paleis visas reikalingas duomenų bazės migracijas.
  3. Paleis Puma serverį, kuris aptarnaus jūsų aplikaciją.

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.

<!-- ![Ruby kodo diegimo į Stackhero su `git push` pavyzdys](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

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.

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ą.