Ruby: Diegimas į produkciją

Diekite Ruby kodą į produkciją per kelias minutes su Stackhero

👋 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 cloud hosting service leidžia lengvai paleisti jūsų Ruby projektus vos per kelias minutes. Jūs gaunate patikimą platformą, sukurtą diegimo procesui supaprastinti, kad galėtumėte susitelkti į savo aplikaciją, o ne infrastruktūrą.

Štai ką gaunate:

  • Diekite savo kodą paprastu git push.
  • Naudokite savo pasirinktą domeną su automatiniu TLS sertifikato (HTTPS) valdymu.
  • Paleiskite aplikaciją dedikuotoje, izoliuotoje infrastruktūroje, užtikrinančioje aukštą saugumą ir privatumą.
  • Pasinaudokite HTTP/2, TLS 1.3 (HTTPS), WebSockets, GZIP ir Brotli suspaudimu, ETag palaikymu, TCP ir UDP prievadų prieiga ir kitomis galimybėmis.

Pradžiai tereikia, kad jūsų kompiuteryje būtų įdiegtas Git.

Jei norite sutaupyti laiko arba nenorite konfigūruoti vietinės aplinkos, galite išbandyti Stackhero Code-Hero.

Code-Hero yra naršyklėje veikianti programavimo aplinka, tinkanti bet kuriam įrenginiui. Ji sukurta ant VSCode fork'o, turi iš anksto įdiegtus ir sukonfigūruotus pagrindinius įrankius, tad galite pradėti programuoti iš karto be jokios papildomos sąrankos.

<!-- ![Example of a Code-Hero instance running directly on the browser](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Ruby aplikacijos diegimas į Stackhero yra paprastas. Štai eiga, o kiekvienas žingsnis paaiškintas žemiau:

  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 kodą į produkciją.

Jei diegimo metu iškyla problemų, Troubleshooting dokumentacija padės greitai rasti sprendimus ir tęsti darbą.

Jei dar nesukūrėte Stackhero for Ruby paslaugos, tai galite padaryti 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 peržiūrėti vykdydami:

cat ~/.ssh/id_*.pub

Neturite SSH raktų?

Galite sugeneruoti naują raktą 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ą.

<!-- ![Example of a Ruby service configuration](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Patarimas: Norėdami vėliau sutaupyti laiko, galite pridėti savo SSH viešąjį raktą prie Stackhero profilio. Naujos paslaugos jį įtrauks automatiškai.

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

Diegimui į Stackhero naudojamas Git CLI ir git push komanda, tad papildomų įrankių 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 command on Stackhero's dashboard](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

Kad Stackhero žinotų, kaip paleisti jūsų aplikaciją, pridėkite Makefile projekto šaknyje. Šiame faile aprašomos komandos, kurias Stackhero naudos diegimo metu.

Jei dar nesate susipažinę su Makefile ar make komanda, žemiau pateikti žingsniai padės sukurti veikiantį Makefile.

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

Ką daro šis Makefile:

  1. run taisyklė yra privaloma. Stackhero ieško šios taisyklės kaip įėjimo taško diegimo metu. Palikite šį pavadinimą.
  2. Pavyzdyje naudojamos rake ir bundle komandos, bet galite jas pritaikyti pagal savo aplikaciją.
  3. Kiekviena komandos eilutė turi prasidėti tabuliacijos simboliu, o ne tarpais. Jei matote klaidą *** missing separator, patikrinkite, ar naudojate tabuliaciją.

Aukščiau pateiktame pavyzdyje diegimo metu bus:

  1. Prekompiliuojami JavaScript ir CSS failai į public/assets katalogą.
  2. Paleidžiamos duomenų bazės migracijos.
  3. Paleidžiamas Puma serveris, kuris aptarnaus jūsų aplikaciją.

Jūs pasiruošę diegti. Naudokite:

git push stackhero main

Pirmojo diegimo metu Git paprašys patvirtinti SSH rakto piršto atspaudą. Įveskite "yes" ir tęskite.

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

<!-- ![Example of deploying Ruby code to Stackhero using the `git push` command](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Aplankykite savo diegtą aplikaciją Stackhero valdymo pulte nurodytu adresu. Adresas atrodys taip: https://<XXXXXX>.stackhero-network.com.

Jūsų aplikacija dabar veikia produkcijoje.

Jei diegimo metu kyla sunkumų, Troubleshooting skyriuje rasite dažniausiai pasitaikančių problemų sprendimus.

Jūs sužinojote, kaip diegti Ruby kodą į produkciją naudojant Stackhero – procesą, kuris yra ir galingas, ir paprastas.

Norėdami sužinoti daugiau apie pažangesnius scenarijus, pavyzdžiui, kaip diegti skirtingas Git šakas, žymas ar commit'us, bei valdyti kelias aplinkas (pvz., staging ir production), žiūrėkite Advanced Deployment Usages dokumentaciją. Ten taip pat rasite patarimų apie aplinkos kintamuosius ir kitas naudingas funkcijas.

Jei kiltų klausimų ar problemų, Troubleshooting dokumentacija visada prieinama, kad jūsų diegimo procesas būtų sklandus ir efektyvus.