2013-03-25 45 views
1

我们正在使用capistrano来部署我们的rails应用程序,并且应用的开发/生产版本使用共享/包文件夹。有没有办法阻止创建共享/包并要求capistrano在不同阶段使用单独的宝石套装?如何在部署期间避免共享包文件夹

回答

1

会设置一个bundle_dir为你工作?

set :bundle_dir, "/my/bundle/path" 

我觉得它默认设置为:

set :bundle_dir, File.join(fetch(:shared_path), 'bundle') 
+0

没有它不会,我们有问题,因为多个环境共享同捆。我宁愿使用个别rvm gemsets也不知道如何使用capistrano来整合这个。 – Sam 2013-03-26 13:31:50

1

当你说的阶段,你的意思,你必须在同一台不同的环境,并使用斯特拉努/多级?

如果是这样,给每个阶段的应用程序一个不同的名称将分隔共享目录。

在部署/ development.rb

set :application, "myapp-dev" 

在部署/ production.rb

set :application, "myapp-prod" 
+0

是的,但是他们都使用相同的共享包,这是问题的根源。 – Sam 2013-03-26 13:29:41

+0

在开发和生产capistrano多级配置文件中设置不同的bundle_dir参数。 – 2013-03-26 20:49:00