Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何继续将Accurev与Capistrano 3配合使用?_Ruby On Rails_Capistrano_Capistrano3_Accurev - Fatal编程技术网

Ruby on rails 如何继续将Accurev与Capistrano 3配合使用?

Ruby on rails 如何继续将Accurev与Capistrano 3配合使用?,ruby-on-rails,capistrano,capistrano3,accurev,Ruby On Rails,Capistrano,Capistrano3,Accurev,我们使用AccuRev(我无法改变这一点),并一直使用Capistrano 2进行部署。我需要升级到Capistrano 3,但Accurev SCM模块似乎已被删除。有没有办法继续使用AccuRev并与Capistrano 3一起部署 deploy.rb块 set :scm, :accurev 部署错误 cap aborted! LoadError: cannot load such file -- capistrano/accurev.rb 正如Capistrano3文档一样,只有git

我们使用AccuRev(我无法改变这一点),并一直使用Capistrano 2进行部署。我需要升级到Capistrano 3,但Accurev SCM模块似乎已被删除。有没有办法继续使用AccuRev并与Capistrano 3一起部署

deploy.rb块

set :scm, :accurev
部署错误

cap aborted!
LoadError: cannot load such file -- capistrano/accurev.rb

正如Capistrano3文档一样,只有git、hg和svn支持

但从Capistrano 2号输送到Capistrano 3号并不难。有些类已更改,但核心是相同的-函数必须返回带有适当参数的适当命令


您可以从git实现开始,并将其替换为AccuRev。

自一年以来,我使用的解决方案如下:

1-编辑文件capistrano-3.3.5/lib/capistrano/setup.rb并替换

load "capistrano/#{fetch(:scm)}.rb"

2-添加您的config/deploy.rb文件

set :scm_path, 'path/to/accurev/directory'
这将使capistrano有机会打开accurev的配置模式。请注意,CapistranoV3更改了其语法,您可能需要修改accurev文件(我建议在lib文件夹中复制它们)

直接编辑gem文件内容很难看,但这里没有其他方法。如果愿意,您还可以为他们的git分叉,并在分叉上进行修改

我有一个类似的问题,因为我在capistrano中使用定制的scm。自去年以来,试图让他们接受添加此
scm\u路径
配置选项的请求,但他们拒绝了,说他们很快就会迁移到更好的位置

set :scm_path, 'path/to/accurev/directory'