簡體   English   中英

Rails 4.2 Capistrano 3部署

[英]Rails 4.2 capistrano 3 deployment

我對Rails部署完全陌生。 谷歌搜索之后,我仍然很難理解如何部署Rails應用程序。

因此,我的問題是:

  1. 設置完所有Rails依賴關系的VPS之后,我該在哪里存儲我的代碼庫? VPS的根目錄或某些特定位置,例如www/public/

  2. 我應該上傳整個Rails應用文件夾還是其中一部分? 我的Rails應用程序中有回形針,並且回形針在public/文件夾中創建了system/目錄,因此我應該上傳system/嗎?

  3. 在Capistrano 3中,有一個repo_url字段,我知道它們支持file://, https://, ssh://, or svn+ssh:// ,但是有關capistrano的大多數文章都將github存儲庫放入其中。 但是,我沒有這樣的github存儲庫。 那我應該輸入什么呢?

感謝您的關注。

對提出的具體問題的答案:

設置完所有Rails依賴關系的VPS之后,我該在哪里存儲我的代碼庫? VPS的根目錄或某些特定位置,例如www /或public /?

它將部署到:deploy_to參數指向的文件夾中。 如果未指定, :deploy_to默認為/var/www/#{fetch(:application)請參閱: https : //github.com/capistrano/capistrano/blob/05f63f5f333bb261f2a4c4497174361c48143252/lib/capistrano/defaults.rb#L3

我應該上傳整個Rails應用文件夾還是其中一部分? 我的Rails應用程序中有回形針,並且回形針在public /文件夾中創建了system /目錄,因此我應該上傳system /嗎?

回形針system文件夾特定於環境; 每個環境(開發,生產等)都將擁有自己的system文件夾,該文件夾將存儲在該特定環境上上傳的文件。 此文件夾不應成為正在部署的代碼的一部分。

推薦的處理此類文件夾的方法是將其保存在服務器上的共享文件夾中,並在當前版本的代碼中創建符號鏈接,以便使用同一文件夾存儲/檢索附件。 有關此詳細信息,請參見http://robmclarty.com/blog/how-to-deploy-a-rails-4-app-with-git-and-capistrano中的 Section 3. Update custom links節。

如此處所述,這同樣適用於config/database.yml文件以及包含環境特定配置的任何其他文件。

在Capistrano 3中,有一個repo_url字段,我知道它們支持file://,https://,ssh://或svn + ssh://,但是有關capistrano的大多數文章都將github存儲庫放入其中。 但是,我沒有這樣的github存儲庫。 那我應該輸入什么呢?

取決於要部署的代碼的存儲位置。 如果它在本地文件夾中,請使用file:://格式來指定文件的位置。

您可以設置自己的私有git服務器 ,然后在deploy.rb中輸入以下內容:

set :repo_url, 'ssh://user@server_ip/path/to/your_git_repo.git'

將更改提交到git repo時,不必將應用程序上載到服務器。 Capistrano將在您部署時為您上傳應用程序。

我在哪里放置代碼庫? 這取決於您在deploy.rbdeploy.rb例如

set :deploy_to, '/path/to/my_codebase'

是否上載/system目錄將取決於您是否要在版本控件上使用回形針圖像。 如果沒有,您可以將目錄添加到gitignore 這是一個關於如何在ubuntu 14.04 passenger和NGINX上進行部署的教程 如果您不使用Passenger和Nginx,則可以跳至如何配置capistrano並根據設置進行調整。

編輯

您需要按照上述鏈接上的說明在開發計算機上安裝git並在VPS上設置git服務器,然后使用以下命令將遠程服務器添加到本地計算機

git remote add origin <server>

其中“服務器”是您在VPS中的git repo的網址,例如

ssh://VPS_user@VPS_ip/path/to/your_git_repo.git

現在,當您提交並將更改推送到服務器時,capistrano將在您的git服務器上部署最新版本。

這是有關如何開始使用git的指南的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM