Ruby: Wdrażanie na produkcję

Jak wdrożyć swój kod Ruby na produkcję w kilka minut

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Ruby cloud, które zapewnia wiele korzyści, w tym:

  • Wdrażaj swoją aplikację w kilka sekund za pomocą prostego git push.
  • Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
  • Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
  • Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Ruby cloud hosting Stackhero zajmuje tylko 5 minut!

Usługa hostingu w chmurze Ruby od Stackhero umożliwia szybkie wdrożenie projektów Ruby na produkcję w zaledwie kilka minut, łącząc wydajną platformę z intuicyjnym interfejsem użytkownika.

Oto, co otrzymujesz:

  • Wdrażaj swój kod za pomocą prostego polecenia git push.
  • Używaj własnej domeny z automatycznym zarządzaniem certyfikatem TLS (HTTPS).
  • Uruchamiaj swoją aplikację na dedykowanej, prywatnej maszynie wirtualnej (VM) dla maksymalnego poziomu bezpieczeństwa i prywatności.
  • Korzystaj z obsługi HTTP/2, TLS 1.3 (HTTPS), WebSockets, kompresji GZIP i Brotli, ETag, dostępu do portów TCP i UDP oraz wielu innych funkcji.

Jedyną rzeczą, której potrzebujesz, aby rozpocząć wdrażanie projektów na Stackhero, jest zainstalowany Git na Twoim komputerze.

Jeśli chcesz zaoszczędzić czas lub wolisz uniknąć konfigurowania złożonego środowiska lokalnego, warto sprawdzić Code-Hero od Stackhero.

Code-Hero to gotowa do użycia platforma deweloperska, do której masz dostęp bezpośrednio z przeglądarki – na dowolnym komputerze, tablecie lub telefonie. Bazuje na forku VSCode i zawiera wszystkie niezbędne narzędzia zainstalowane i skonfigurowane, dzięki czemu możesz zacząć kodować natychmiast, bez żadnych dodatkowych przygotowań.

<!-- ![Przykład instancji Code-Hero uruchomionej bezpośrednio w przeglądarce](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Wdrażanie aplikacji Ruby na Stackhero to prosty proces. Oto kroki, które należy wykonać – każdy z nich omówimy szczegółowo:

  1. Utwórz usługę Ruby na Stackhero.
  2. Dodaj swój klucz publiczny SSH do konfiguracji usługi Ruby.
  3. Skonfiguruj polecenie git push na swojej platformie deweloperskiej.
  4. Dodaj plik Makefile do swojego projektu.
  5. Wdróż swój kod na produkcję.

Jeśli napotkasz jakiekolwiek problemy podczas wdrażania, dokumentacja Rozwiązywanie problemów pomoże Ci szybko znaleźć rozwiązanie. Warto tam zajrzeć w pierwszej kolejności, aby zaoszczędzić czas i uniknąć frustracji.

Jeśli nie utworzyłeś jeszcze usługi Stackhero for Ruby, możesz to zrobić z poziomu swojego panelu Stackhero w ciągu kilku minut.

Gdy Twoja usługa Ruby jest już uruchomiona, kolejnym krokiem jest dodanie klucza publicznego SSH. Możesz go znaleźć, wykonując polecenie:

cat ~/.ssh/id_*.pub

Nie masz jeszcze kluczy SSH?

Możesz je wygenerować poleceniem:

ssh-keygen -t ed25519

Aby dodać klucz SSH, przejdź do swojego panelu Stackhero, wybierz usługę Ruby, kliknij "Konfiguruj" i wklej swój klucz publiczny w sekcji "Klucze publiczne SSH".

<!-- ![Przykład konfiguracji usługi Ruby](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Wskazówka: Chcesz zaoszczędzić czas w przyszłości? Dodaj swój klucz publiczny SSH do profilu, aby był automatycznie dodawany do każdej nowej usługi, którą utworzysz.

Wystarczy kliknąć swoje zdjęcie profilowe w prawym górnym rogu panelu, wybrać "Twój profil" i tam dodać klucz publiczny SSH.

Wdrażanie na Stackhero wykorzystuje Git CLI i polecenie git push, więc nie musisz instalować żadnych dodatkowych narzędzi.

Możesz skopiować polecenie git remote ze strony głównej swojej usługi w panelu Stackhero. Zazwyczaj wygląda ono tak:

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
<!-- ![Polecenie Git remote Ruby na panelu Stackhero](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

Aby Stackhero wiedział, jak uruchomić Twoją aplikację, musisz utworzyć plik Makefile w głównym katalogu projektu. Ten plik definiuje polecenia, które Stackhero wykona podczas wdrożenia.

Jeśli nie miałeś wcześniej do czynienia z Makefile lub poleceniem make, nie martw się – poniższe kroki przeprowadzą Cię przez cały proces.

Utwórz plik Makefile o następującej treści:

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Co dzieje się w tym Makefile:

  1. Reguła run jest wymagana – Stackhero automatycznie ją wykona podczas wdrożenia. Proszę zachować tę nazwę, ponieważ pełni rolę punktu wejścia.
  2. Polecenia korzystają z rake i bundle, ale możesz je dostosować do potrzeb swojej aplikacji.
  3. Upewnij się, że każda linia polecenia zaczyna się od znaku tabulacji, a nie od spacji. Jeśli pojawi się błąd typu *** missing separator, sprawdź formatowanie.

W powyższym przykładzie wdrożenie wykona:

  1. Prekompilację zasobów takich jak JavaScript i CSS do katalogu public/assets.
  2. Wykonanie niezbędnych migracji bazy danych.
  3. Uruchomienie serwera Puma, który obsłuży Twoją aplikację.

Jesteś gotowy. Aby wdrożyć swój kod na Stackhero, użyj polecenia:

git push stackhero main

Przy pierwszym uruchomieniu tej komendy zostaniesz poproszony o potwierdzenie odcisku klucza SSH. Wystarczy odpowiedzieć "yes", aby kontynuować.

Po krótkiej chwili Twoja aplikacja będzie dostępna online.

<!-- ![Przykład wdrożenia kodu Ruby na Stackhero za pomocą polecenia `git push`](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Możesz odwiedzić swoją wdrożoną aplikację pod adresem wyświetlonym w panelu Stackhero. Zazwyczaj wygląda on tak: https://<XXXXXX>.stackhero-network.com.

Gratulacje. Twoja aplikacja działa już na produkcji.

Masz problemy z wdrożeniem?

Koniecznie sprawdź sekcję Rozwiązywanie problemów, gdzie znajdziesz szybkie rozwiązania.

Właśnie dowiedziałeś się, jak wdrożyć kod Ruby na produkcję za pomocą Stackhero – w prosty i wydajny sposób.

Jeśli chcesz dowiedzieć się więcej, dokumentacja Zaawansowane zastosowania wdrożenia obejmuje tematy takie jak wdrażanie różnych gałęzi git, konkretnych tagów lub commitów, a także zarządzanie wieloma środowiskami, np. staging i produkcja. Znajdziesz tam również wskazówki dotyczące pracy ze zmiennymi środowiskowymi i nie tylko.

Pamiętaj też, że jeśli pojawią się jakiekolwiek problemy podczas wdrażania, dokumentacja Rozwiązywanie problemów to świetne źródło, które pomoże Ci je sprawnie rozwiązać i utrzymać płynność pracy.