Ruby: Diegimas į produkciją

Kaip per kelias minutes įdiegti savo Ruby kodą į produkcinę aplinką

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Diekite savo aplikaciją per kelias sekundes naudodami paprastą git push.
  • Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu didesniam saugumui.
  • Būkite ramūs dėl automatinių atsarginių kopijų, atnaujinimų vienu paspaudimu ir aiškios, skaidrios bei prognozuojamos kainodaros.
  • Pasiekite optimalią veikimo spartą ir tvirtą saugumą dėl privačios, dedikuotos infrastruktūros.

Taupykite laiką ir supaprastinkite savo darbą: išbandyti Stackhero Ruby cloud hosting sprendimą užtruks tik 5 minutes!

Stackhero Ruby debesų talpinimo paslauga leidžia lengvai įdiegti jūsų Ruby projektus į produkcinę aplinką vos per kelias minutes, derinant galingą platformą su intuityvia naudotojo patirtimi.

Štai ką gaunate:

  • Diekite savo kodą paprastu git push veiksmu.
  • Naudokite savo pasirinktą domeną su automatiniu TLS sertifikato (HTTPS) valdymu.
  • Paleiskite savo aplikaciją dedikuotoje, izoliuotoje infrastruktūroje, 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 vystymo 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 pasiruošimo.

<!-- ![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 vystymo aplinkoje.
  4. Pridėkite Makefile prie savo projekto.
  5. Įdiekite savo kodą į produkciją.

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 skydelyje 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ę:

cat ~/.ssh/id_*.pub

Neturite SSH raktų?

Galite juos sugeneruoti su:

ssh-keygen -t ed25519

Norėdami pridėti SSH raktą, eikite į Stackhero valdymo skydelį, 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 profilio – tuomet jis bus automatiškai įtrauktas kuriant naujas paslaugas.

Tiesiog spustelėkite savo profilio nuotrauką viršutiniame dešiniajame valdymo skydelio kampe, pasirinkite "Your profile" ir pridėkite SSH viešąjį raktą ten.

Diegimui į Stackhero naudojamas Git CLI ir git push komanda, todėl nereikia diegti jokių papildomų įrankių.

git remote komandą galite nukopijuoti iš savo paslaugos pagrindinio puslapio Stackhero valdymo skydelyje. Ji dažniausiai atrodo taip:

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
<!-- ![Ruby Git remote komanda Stackhero valdymo skydelyje](/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 vykdys 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

Štai kas vyksta šiame Makefile:

  1. run taisyklė yra privaloma – Stackhero ją automatiškai vykdys diegimo metu. Palikite šį pavadinimą, nes tai yra įėjimo taškas.
  2. Komandose naudojami 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. Prekompiliuos JavaScript ir CSS resursus į 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 piršto atspaudą. Tiesiog atsakykite "yes", kad tęstumėte.

Po trumpos pauzės jūsų aplikacija bus pasiekiama internete.

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

Savo įdiegtą aplikaciją galite pasiekti Stackhero valdymo skydelyje nurodytu svetainės adresu. Paprastai jis atrodo taip: https://<XXXXXX>.stackhero-network.com.

Sveikiname. Jūsų aplikacija jau veikia produkcinė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ą į produkciją naudojant Stackhero – procesas yra ir paprastas, ir galingas.

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