Język Frankfurt nad Menem, Niemcy

Wdróż Ruby na Nodion

Nodion rozpoznaje aplikację Ruby po pliku Gemfile. Buildpack Ruby instaluje Twoje gemy za pomocą wersji Bundlera z Gemfile.lock i uruchamia serwer Puma, aplikację Rack przez rackup albo Twój plik app.rb. W ten sposób Sinatra i inne aplikacje Rack działają we Frankfurcie nad Menem; dla Rails zajrzyj do przewodnika po Rails.

Wdróż na Nodion ›

od 1 EUR / mies.

Do 15 € środków na start przy rejestracji

Wykrywane po
Gemfile
Start
Puma z config/puma.rb, inaczej rackup z config.ru, inaczej ruby app.rb
Ruby
3.3, 3.4 (domyślna), 4.0
Region
EU Central (Frankfurt)

Wdróż Ruby krok po kroku

  1. Dodaj Gemfile i Gemfile.lock do repozytorium Build uruchamia bundle install bez grup development i test, z wersją Bundlera z BUNDLED WITH w Gemfile.lock. W Rack 3 aplikacja z config.ru potrzebuje też gemu rackup i serwera, na przykład Puma. Gemfile
    source "https://rubygems.org"
    
    gem "sinatra"
    gem "rackup"
    gem "puma"
  2. Dodaj config.ru Gdy jest config.ru, a nie ma config/puma.rb, Nodion uruchamia bundle exec rackup config.ru -p $PORT i ustawia RACK_ENV=production. Prosta aplikacja Sinatra mieści się w jednym pliku: config.ru
    require "sinatra/base"
    
    class App < Sinatra::Base
      get "/" do
        "Hello from Frankfurt"
      end
    end
    
    run App
  3. Utwórz aplikację W dashboardzie utwórz aplikację ze swojego repozytorium GitHub, GitLab, Bitbucket lub Gitea, wybierz branch i region EU Central, a strategię buildu zostaw na Buildpacks. Podczas buildu istnieją tylko zmienne z zaznaczoną opcją Build; wszystkie pozostałe są ustawiane podczas działania. Klucze API i hasła oznacz jako sekrety.
  4. Podłącz bazę danych i uruchom migracje Utwórz bazę danych PostgreSQL lub MySQL w tym samym regionie i podłącz ją w zakładce Environment; aplikacja otrzyma DATABASE_URL przy następnym wdrożeniu. Linia release: w Procfile jest wykonywana raz na build, przed startem nowej wersji, na przykład z migracjami sinatra-activerecord. Jeśli się nie powiedzie, działająca wersja pozostaje online. Procfile
    release: bundle exec rake db:migrate

Warto wiedzieć

  • Przypnij wersję RubyNodion odczytuje .ruby-version, a potem linię ruby z pełną wersją w Gemfile; bez żadnego z nich dostajesz Ruby 3.4. Dostępne są też Ruby 3.3 i 4.0. Bez BUNDLED WITH na Ruby 3 działa Bundler 2, a na Ruby 4 Bundler 4.
  • Konfiguracja Puma albo zwykły app.rbJeśli istnieje config/puma.rb, Nodion uruchamia bundle exec puma -C config/puma.rb, więc ustaw tam port serwera Puma przez port ENV.fetch("PORT", 3000). Gdy nie ma ani tego pliku, ani config.ru, Nodion uruchamia bundle exec ruby app.rb, a skrypt musi nasłuchiwać na 0.0.0.0 i na porcie PORT ustawionym przez Nodion.
  • Sidekiq i inne workeryDodaj do Procfile worker: bundle exec sidekiq razem z jawną linią web: bundle exec rackup config.ru -p $PORT; bez linii web: pierwszy wpis w Procfile inny niż release: staje się domyślnym poleceniem. Następnie dodaj w zakładce Processes proces o nazwie worker bez portu. Valkey w tym samym regionie zapewnia Sidekiq zmienną REDIS_URL.

Czym Nodion zajmuje się za Ciebie

  • Wdrożenia bez przestojów Wypchnij zmiany do swojej gałęzi, a Nodion zbuduje nowy release. Ruch przełącza się, gdy nowe instancje przejdą health check; nieudany release nie wpływa na działającą wersję. Aplikacje z lokalnym wolumenem są natomiast uruchamiane ponownie, bo dysk należy do jednej instancji.
  • Bazy danych obok aplikacji Zarządzane PostgreSQL, pgvector, MySQL, Valkey i ClickHouse w tym samym regionie. Podłączone bazy danych trafiają do aplikacji jako DATABASE_URL, REDIS_URL lub CLICKHOUSE_URL.
  • Środowiska podglądu dla pull requestów Włącz środowiska podglądu, a każdy pull request z Twojego repozytorium dostanie własną aplikację z własnym adresem URL i nowymi, pustymi bazami danych, tworzoną automatycznie lub ręcznie. Forki i pull requesty od botów są pomijane.
  • Workery, zadania cron i skalowanie Uruchamiaj workery jako dodatkowe procesy tej samej aplikacji, planuj zadania w zakładce Cron i skaluj każdy proces do 16 instancji.
  • Etap release W przypadku buildpacków linia release: w Procfile uruchamia się przy każdym nowym buildzie. Aplikacje z Dockerfile, a także ponowne wdrożenia i rollbacki do wcześniejszego obrazu, korzystają z polecenia release ustawionego w samej aplikacji, które ma też pierwszeństwo przed linią z Procfile. W przypadku stron statycznych krok release działa w obrazie zawierającym tylko zbudowane pliki.
  • Logi i metryki W dashboardzie znajdziesz logi z builda, release'u i działania aplikacji oraz metryki CPU, pamięci, dysku i sieci dla każdej instancji.
  • Domeny i HTTPS Domyślna nazwa hosta z HTTPS od pierwszego wdrożenia; Twoje własne domeny automatycznie dostają certyfikaty.

Warto przeczytać

Ruby na Nodion: pytania i odpowiedzi

Czy Sinatra działa bez Dockerfile?

Tak. Z plikami Gemfile i config.ru buildpack Ruby instaluje Twoje gemy i uruchamia aplikację przez rackup na porcie ustawionym przez Nodion. Dla Rack 3 dodaj gemy rackup i puma.

Których wersji Ruby mogę używać?

Ruby 3.3, 3.4 i 4.0, domyślnie 3.4. Przypnij jedną z nich w .ruby-version lub w Gemfile; Bundler działa w wersji z Twojego Gemfile.lock.

Czy mogę budować zasoby JavaScript obok Gemfile?

Użyj do tego Dockerfile: jeśli jest w repozytorium, formularz tworzenia aplikacji wybiera strategię Dockerfile, a Twój Dockerfile wykonuje cały build. Dla Rails zajrzyj do przewodnika po Rails.

Gdzie działa moja aplikacja Ruby?

W regionie EU Central we Frankfurcie nad Menem (Niemcy). Build, rejestr, aplikacja oraz jej bazy danych, wolumeny, buckety, logi i metryki pozostają w tym regionie, a API i warstwa sterowania (control plane) Nodion są hostowane w Niemczech. Nodion GmbH ma siedzibę w Stuttgarcie.

Czy mogę wykorzystywać Ruby zgodnie z RODO?

Nodion zapewnia do tego podstawy: Nodion GmbH ma siedzibę w Stuttgarcie (Niemcy), w regionie Frankfurt nad Menem aplikacja, jej bazy danych i wolumeny działają w Niemczech, a umowę powierzenia przetwarzania danych (DPA, art. 28 RODO) zawierasz elektronicznie w dashboardzie. To, czy Twoje wdrożenie spełnia wymogi RODO, zależy też od tego, jak skonfigurujesz aplikację i jak z niej korzystasz.

Ile kosztuje uruchomienie Ruby na Nodion?

Instancja aplikacji kosztuje od 1 EUR miesięcznie. Konfiguracja z ramki kosztuje 2 EUR miesięcznie: Aplikacja 2 EUR. Ceny są podane netto, a rozliczenie następuje co do sekundy. Większe rozmiary lub więcej instancji możesz wybrać w dowolnym momencie.

Czy mogę użyć własnej domeny dla mojej aplikacji Ruby?

Tak. Każda aplikacja dostaje domyślną nazwę hosta z HTTPS. Własną domenę dodasz w zakładce Domains aplikacji, a certyfikat TLS jest wystawiany i odnawiany automatycznie.

Daj swojemu agentowi chmurę.

Zyskaj do 15 € środków na start przy rejestracji.

Kontynuuj z GitHub

lub przez e-mail

Bądź na bieżąco.

Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.