如何使用Capistrano 3部署到无法访问scm的服务器?

时间:2014-07-08 17:47:58

标签: ruby-on-rails git capistrano

我想用Capistrano 3部署一个rails应用程序。这个rails应用程序受版本控制(git),但是我想要部署的服务器无法访问这个git存储库,因为它是只能从本地网络访问。

我在这种情况下使用set :deploy_via, :copy几次使用了Capistrano 2,但是对Capistrano 3的支持已经在Capistrano 3中被删除了。

我可以在这种情况下使用Capistrano 3吗?如果不是,你会建议什么?

2 个答案:

答案 0 :(得分:0)

由于选项set :deploy_via, :copy仅在Capistrano版本3之前可用,我需要找到另一种解决方案。

我最终在部署机器上使用了另一个git存储库。所以我在运行Capistrano之前,刚刚将另一个远程数据库添加到git存储库并将所有更改推送到部署存储库。

据此,我的存储库URL设置为部署机器上的本地存储库:

set :repo_url, 'file:///opt/git/example.com.git'

答案 1 :(得分:0)

有一个重新实现:copy scm。这是一个宝石,你可以在这里找到它:

https://github.com/xuwupeng2000/capsitrano-scm-gitcopy