2016-06-29 14 views
5

Stworzyłem aplikację Ruby on Rails, która działa jako podstawowy kalkulator. Teraz chcę spakować tę aplikację, wgrać ją na github, pobrać na Jenkinsa i stworzyć zadanie Jenkinsa, które uruchomi tę aplikację ruby.Jaki jest najlepszy sposób na spakowanie aplikacji Ruby on Rails?

Zwykle, jeśli jest to aplikacja Java, należy ją spakować jako plik jar, a następnie uruchomić plik jar. Co mam napisać w tej aplikacji Ruby?

Myślałem o opakowaniu tej aplikacji jako Klejnotu Rubinowego, ale czy nie są to Klejnoty Rubinowe głównie wtedy, gdy chcesz użyć aplikacji Ruby w innej aplikacji Ruby? Chcę uruchomić tę aplikację jako samodzielną aplikację.

Nawet gdybym miał spakować aplikację Ruby on Rails jako klejnot Ruby, jak mógłbym uruchomić klejnot jako samodzielny klejnot? Jakie byłoby polecenie uruchomienia go z linii poleceń?

+0

należy prawdopodobnie szukać w realizacji jruby, które można uruchomić na JVM. W przeciwnym razie aplikacje railsowe nie są pakowane jako aplikacje java, ale raczej są uruchamiane przez serwer sieciowy, taki jak Unicorn lub Passenger –

+0

Myślę, że mogłeś mnie źle zrozumieć. Nie próbuję spakować mojej aplikacji Ruby jako aplikacji Java. Po prostu dokonałem porównania z aplikacjami Java i plikami Jar, aby ludzie zrozumieli rodzaj pliku, który próbuję spakować aplikację ruby ​​i zapytam, czy istnieje plik równoważny plikowi jar. – user1842633

Odpowiedz

3

W przeciwieństwie do aplikacji Java, które mają opakowanie jako pierwszorzędny obywatel (może to być słoik lub wojna), koncepcja ta nie jest wypiekana w większości środowisk programistycznych.

Dlatego istnieje duże zapotrzebowanie na dokowanie, pozwala to na odizolowanie aplikacji (i zależności gem) i podłączenie jej do środowiska produkcyjnego w sposób przypominający wrzucenie wojny do kontenera.

Oto artykuł o dockerizing app szyn: https://semaphoreci.com/community/tutorials/dockerizing-a-ruby-on-rails-application

+0

Dzięki za artykuł! Mam jednak kilka pytań. Przeglądam artykuł i pokazuje je za pomocą aplikacji Ruby on Rails. Czy spakowali aplikację szyn jako klejnot, czy też zaczęli jej używać natychmiast, bez pakowania pliku. W jaki sposób mogę użyć tej dokowanej aplikacji w połączeniu z Jenkinsem? Jeśli pamiętasz, że celem końcowym było uruchomienie aplikacji Ruby z pracy Jenkinsa. Jak uruchomić dokowanie aplikacji w Jenkins? – user1842633

+0

W środowisku programistycznym możesz użyć serwera osadzania w katalogu gem, używając '' rails server', ale w produkcji powinieneś zbudować obraz dokowania, który będzie wykonywany przez kontener dokowania. Kontener dokujący jest menedżerem zwirtualizowanych procesów. Jenkins ma wtyczkę, która zapewnia obsługę docker. https://wiki.jenkins-ci.org/display/JENKINS/Docker+build+step+plugin – Raphael

Powiązane problemy