Ruby 在 Rails - 测试对 Capistrano 的 deploy.rb 的更改

Ruby on Rails - Testing changes to Capistrano's deploy.rb

我正在尝试在生产环境中测试一些更改,而不必提交和推送更改,因为我只想提交实际有效的内容。我正在处理的项目是使用 Rails (3.0.2) 创建的,并使用 Capistrano (3.1) 进行部署。我已尝试在我的应用程序的根文件夹中进行更改并重新部署,但这些更改并未反映在网站上。我已尝试在 root/current 目录中进行更改并重新部署,但没有成功。

有什么方法可以将更改重新部署到服务器而不必先将其推送到 Github?

Is there any way I can redeploy changes to the server without having to push it to Github first?

不,这是不可能的,因为 Capistrano 要做的第一件事就是 git clone 来自您在部署配置中指定的任何分支的最新消息。

我不确定您对 Rails 的熟悉程度,但正确的方法是创建一个新的 staging 环境并部署到该环境。暂存环境将具有与您的生产环境类似的设置,但具有单独的数据库,因此您不会影响生产数据。

Capistrano 3 开箱即用地支持此流程,因此一旦您设置好所有内容,您就可以简单地调用

cap staging deploy

部署到暂存环境,并且

cap production deploy

部署到生产环境。