问题标签 [rvm-capistrano]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
416 浏览

ruby - 切换 ruby​​ 版本以在服务器上运行命令

我有一个使用 capistrano 部署的 Ruby 应用程序(非 Rails)。我可以 ssh 进入我的服务器,cd进入/current目录并使用命令启动它

但是,如果我 cd 升级并运行

我得到错误:

现在这显然是因为我在每个目录中使用不同的 ruby​​ 版本运行命令。

.ruby-version在应用程序中有一个文件,它指定ruby-1.9.3-p392. 我的 capistrano 部署脚本指定set :rvm_ruby_string, '1.9.3-p392'并且当它bundle install作为部署过程的一部分运行时,它会安装 193-p392 的 gem。

问题是,当我尝试从应用程序目录之外启动应用程序时,它使用默认的 Ruby(由 RVM 设置为 193 的较小版本)。

如何确保应用程序.ruby-version在运行时使用它指定的 Ruby 版本?

我宁愿不更改 RVM 的默认 Ruby 版本,因为系统上正在运行其他应用程序。

0 投票
2 回答
1450 浏览

ruby-on-rails - 无法使用 RVM Capistrano 部署应用程序

首先,我在 ubuntu 上使用 rvm 1.15.8(稳定版)开发应用程序 rails by wayne,我将部署到我的 vps。

这是我的 vps 上构建 rails 应用程序的历史:

  1. 在我的 vps 上使用用户“user”安装 rvm,我尝试过这里是rvm info

    /li>
  2. 我正在为我的 vps 使用 kloxo 控制面板,并打开目录根目录/home/admin/myapp/public

  3. 我将部署,这是deploy.rb

我尝试运行cap deploy:setup,出现错误

你能帮我纠正我的步骤和代码吗?

0 投票
2 回答
1198 浏览

ruby-on-rails - 乘客启动失败,出现未初始化的常量错误

我正在使用 Capistrano 自动化我的 Rails 部署,并且在启动乘客时在流程结束时遇到错误。我最终出现以下错误:

我实际上发现SERVER_INSTANCE_DIR_STRUCTURE_MAJOR_VERSION[...]/phusion_passenger/constants.rb.

这是完整的堆栈跟踪:

我添加了用于从 Capistrano 启动和停止Passenger Standalone 的自定义任务,一切似乎都按预期进行,包括 Passegner 的安装,直到出现这个奇怪的错误。这是我的 Capfile 的相关部分:

我的完整设置如下:

  • 导轨 3.2
  • 虚拟机
  • 卡皮斯特拉诺
  • 乘客独立
0 投票
1 回答
335 浏览

ruby - Capistrano 使用 .rvmrc 文件部署错误

我的本地机器上有 ruby​​-2.0.0-p0。当我部署我的 rails 应用程序时,我遇到了很多错误,我已经修复它并且它正在运行。但同样,1天后,我尝试运行相同的应用程序,我收到了这条消息

我已将rvm use ruby-2.0.0-p195@rails3代码放入我的 .rvmrc 文件中。我是否需要更改它或做其他事情。

0 投票
1 回答
569 浏览

ruby-on-rails - 如何使用 capistrano 部署私有 gem

我们有一个特定于我们项目的 gem,并且在多个项目之间共享。当我们尝试bundle:install通过 capistrano 使用命令安装 Gemfile 时,它​​没有提到它无法找到 foo-1.0.0.gem 的源

我应该如何解决这个问题,因为我无法在公共存储库中公开这个 gem。捆绑和部署的正确方法是什么。

0 投票
1 回答
844 浏览

ruby-on-rails - 使用 rvm-capistrano 在 update_code 阶段部署失败

我的工作部署脚本因upload via sftp failed on XX.XXX.XXX.XXX: Net::SFTP::StatusException (Net::SFTP::StatusException write /tmp/20130610114941.tar.gz (4, "failure"))错误而失败。

这是我的部署脚本

任何想法?

谢谢

编辑:刚刚检查,我的磁盘空间已满。显然这是我的问题。一个更新后挂钩来防止这种情况?

0 投票
2 回答
2394 浏览

ruby-on-rails - 为什么在尝试使用 capistrano 进行部署时出现 Psych 错误?

我目前正在我的 Rails 3.2.13 应用程序中设置 capistrano。我收到以下错误/详细信息(包括“第 1 行第 1 列不允许使用控制字符”)。我已经对此进行了一些搜索,但没有看到与我相关的任何内容。

我正在使用 rvm-capistrano 和 ruby​​ 2.0.0-p195。我最近将我的应用程序所需的环境变量移到了 .bashrc 中。

0 投票
4 回答
4879 浏览

ruby-on-rails - 在 ubuntu 服务器上部署 capistrano 时有关 nokogiri 的错误

bundle:install阶段之后deploy:finalize_update,我收到关于 nokogiri 的错误。它表明,

所以我尝试自己在服务器上安装nokogiri。但它给出了以下错误,

它今天才开始。libxml2 也已经安装。

任何的想法?

谢谢。

编辑:我不需要在我的 gemfile 中明确地 nokogiri。

0 投票
2 回答
957 浏览

ruby-on-rails - Capistrano 的多个延迟工作角色?

我有一个问题,我没有找到太多有用的信息。我想知道这是否可行,如果可以,如何最好地实现它。

我们正在 Rails 中构建一个应用程序,它在后台通过大量数据处理DelayedJob(……它对我们来说效果很好。)

该应用程序在 AWS 中运行,我们在 Capistrano 中配置了几个不同的环境。

当我们有繁重的处理负载时,我们的DelayedJob队列可以备份——这基本上没问题。我确实有一个或两个队列,我希望有一个单独的节点来处理。由于它会忽略“阻塞”的队列,它会继续处理它的一两个队列并且它们会保持最新状态。例如,一些单独的工作可能需要一个多小时,而我不希望忘记密码的电子邮件发送被推迟 90 分钟,直到下一个工作人员完成任务并检查优先工作。

我想要的是有一个单独的 EC2 实例,它启动了一个工作人员,该工作人员倾向于两个不同的显式队列。

我可以在我的开发机器上手动执行此操作,方法是使用“--QUEUES”选项启动一两个工人。

这是我的问题,如何在 capistrano 中定义一个新角色并告诉该角色的节点启动不同数量的工作人员并倾向于特定的队列?同样,我的正常延迟工作角色设置为 3 个工作人员并运行所有队列。

这可能吗?有没有更好的办法?

目前在带有 PostgreSQL 9.2 和delayed_jobgem 的 Rails 3.2.13 上。

0 投票
1 回答
30 浏览

capistrano - 如何为某个 capistrano 任务添加先决条件

我想添加 cap deploy:setup 作为 cap deploy 任务的先决条件。我该怎么做。