2016-06-29 120 views
5

所以我創建了一個Ruby軌道應用程序,用作基本計算器。現在我想打包這個應用程序,上傳到github,下載到Jenkins,並創建一個Jenkins作業來運行這個ruby應用程序。打包Ruby on Rails應用程序的最佳方式是什麼?

通常情況下,如果這是一個Java應用程序,您可以將它打包爲一個jar文件,然後運行該jar文件。我將這個Ruby應用程序打包爲什麼?

我想過把這個應用程序打包成Ruby Gem,但是不是Ruby Gems主要用於當你想在另一個Ruby應用程序中使用你的Ruby應用程序?我想運行這個應用程序作爲一個獨立的應用程序。

即使我要將Ruby on Rails應用程序打包爲Ruby Gem,我該如何將該Gem作爲獨立的寶石運行?從命令行運行它的命令是什麼?

+0

你或許應該看看JRuby實現,你可以在JVM上運行。否則,rails應用程序不會被打包爲java應用程序,而會被像Unicorn或Passenger這樣的網絡服務器運行。 –

+0

我想你可能誤解了我。我並不想將我的ruby應用程序打包爲Java應用程序。我簡單地比較了Java應用程序和Jar文件,以便人們能夠理解我試圖打包ruby應用程序的文件類型,並詢問是否存在與Jar文件相當的ruby。 – user1842633

回答

3

不像Java應用程序那樣將打包作爲頭等公民(不管是罐子還是戰爭),這個概念在大多數開發環境中都沒有出現。

這就是爲什麼對Docker有很大的推動,它允許你隔離你的應用程序(和gem依賴),並將它插入生產環境,就像把戰爭放到容器中一樣。

下面是關於dockerizing一個Rails應用程序的文章: https://semaphoreci.com/community/tutorials/dockerizing-a-ruby-on-rails-application

+0

感謝您的文章!我確實有一些問題。我正在瀏覽文章,並使用Ruby on Rails應用程序顯示它們。他們是否將導軌應用程序打包爲寶石,或者是否立即開始使用它,而不打包文件。另外,我將如何與Jenkins一起使用這個dockerized應用程序?如果你記得最終目標是從詹金斯的工作中運行這個紅寶石應用程序。我將如何在詹金斯運行一個dockerized應用程序? – user1842633

+0

在開發環境中,您可以使用'rails server'在rails gem中使用嵌入式服務器,但在生產中您應該構建一個將由docker容器執行的docker映像。碼頭集裝箱是虛擬化流程的管理者。 詹金斯有一個插件,提供碼頭支持。 https://wiki.jenkins-ci.org/display/JENKINS/Docker+build+step+plugin – Raphael

相關問題