首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特定于环境的Capefile capistrano3 rails 4.1

特定于环境的Capefile capistrano3 rails 4.1
EN

Stack Overflow用户
提问于 2014-10-29 21:03:36
回答 2查看 128关注 0票数 0

我使用capistrano3部署了Rails4.1应用程序和多阶段(试运行、生产)。

我想把它部署到一个阶段服务器(使用rvm)和一个生产服务器(使用ruby env)。

默认情况下,一切在生产服务器上都运行得很好,但是如果没有安装rvm1-capistrnao3gem并包含在Capefile中,我就不能部署到staging。

有没有办法在Capefile中要求‘rvm1/capistrano3 3’,只有当我像那样部署到登台的时候

cap staging deploy

EN

回答 2

Stack Overflow用户

发布于 2014-10-29 23:17:27

以下是我为修复它所做的工作

我做了默认的capistrano多阶段设置,就像Doug Hall说的那样!

棘手的部分是在Capefile中包含rvm1-capistrano3 3的方法。

请在此处查看deepak的变通方法https://github.com/capistrano/rvm/issues/49

因此,不要只在Capefile中使用require 'rvm1/capistrano3',而是像这样做

代码语言:javascript
复制
task :use_rvm do
  require 'rvm1/capistrano3'
end

task 'staging' => [:use_rvm]
票数 2
EN

Stack Overflow用户

发布于 2014-10-29 21:59:12

当您运行cap install时,它会在配置/部署目录中创建一个名为config/deploy.rb的文件和两个文件: production.rb和staging.rb。对生产服务器和临时服务器共有的所有设置使用config/deploy.rb文件。将另外两个用于这些计算机上的相应设置。我需要在Capfile中使用'capistrano/rvm‘,但只在config/deploy/staging.rb文件中使用它。Capistrano首先执行公共的config/deploy.rb,然后调用适当的staging.rb/production.rb文件,因此来自config/deploy.rb的所有设置值都可以在staging.rb/production.rb文件中使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26631120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档