问题标签 [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 投票
1 回答
683 浏览

php - 关于 Capistrano for PHP 项目和 config.php 中默认部署任务的问题

我有一整天的时间了解 Capistrano 的使用。真的是一个很好的工具,可以节省我很多时间。我实际上想用它来部署我的许多 php 应用程序之一:)

如果我有一个带有 $env="development" 变量的 config.php。有什么方法可以让 Capistrano 将这个变量改为“生产”吗?或者我应该忘记它并将其符号链接到共享?

为吉列尔莫欢呼

0 投票
2 回答
2507 浏览

git - Capistrano 和 git 结帐

当我执行 cap deploy 时,我收到以下错误,它从 git master 存储库中签出:

有人可以帮我吗?

提前致谢

Deploy.rb 文件内容:

0 投票
2 回答
26450 浏览

ruby-on-rails - Capistrano 中的“角色”到底是什么?

Capistrano 食谱中“角色”的目的和功能是什么?当我查看示例食谱时,我经常会看到这样的内容:

所以看起来角色基本上是Capistrano 执行命令的服务器。如果是这样,那为什么将其称为“角色”而不是“主机”或“服务器”?

:app在上面的例子中,和:web角色有什么区别?

选项有什么作用:primary => true

0 投票
1 回答
892 浏览

ruby-on-rails - 如何为 Capistrano 指定单独的应用程序和数据库服务器?

我正在尝试将 Rails 应用程序部署到运行Passenger 的CentOS 服务器。SVN 存储库和 MySQL 数据库分别托管在不同的机器上。(换句话说,总共涉及三个独立的主机。)

这是我的deploy.rb文件(取自乘客文档):

cap deploy:setup似乎成功了。至少没有错误。但是cap deploy失败了。有很多输出,但结果似乎是 Capistrano 正在尝试将我的应用程序部署到我指定的“角色” :db——尝试将应用程序部署到数据库主机。

...

...

0 投票
2 回答
2058 浏览

php - Capistrano 中的回滚代码.. 用于 PHP 项目

如果Capistrano的最后一次发布出现问题,我正在寻找一种简单的方法来回到以前的版本

有没有像“cap goback”这样的命令来撤消最后一次部署?(因此将当前符号链接更新到它的旧位置

这是内置的还是我只需要自己做一个任务?

这是我的食谱:

0 投票
1 回答
160 浏览

ruby-on-rails - 为什么要在数据库主机上保留应用程序的副本?

许多 Capistrano 示例食谱都包含一个:db角色。默认情况下,部署任务将应用程序代码导出到所有角色的所有主机。这表明人们通常会在数据库主机上保留其应用程序的副本。此外,在 Capistrano 的分布式deploy.rb配方中,:deploy:migrate如下所示:

我的问题是,为什么会这样?让应用程序代码远离数据库主机(甚至可能没有安装 Ruby)并从生产机器运行迁移不是更干净吗?

0 投票
3 回答
2330 浏览

ruby-on-rails - Rails 中的自动部署

我正在开发我的第一个 Rails 应用程序,并且正在努力寻找一种高效且干净的解决方案来进行自动签出和部署。

到目前为止,我已经查看了CruiseControl.rb(熟悉 CruiseControl.NET)和Capistrano。不幸的是,除非我遗漏了什么,否则他们每个人都只做了我想要的一半(每个人都做了不同的一半)。

对于我到目前为止所看到的:

巡航控制

  • 优势
    • 提交时自动构建存储库签出
    • 还运行单元/功能测试并返回报告
  • 弱点
    • 没有内置的部署机制(到目前为止我能找到的最好的方法是编写自己的 bash 脚本)

卡皮斯特拉诺

  • 优势
    • 专为部署而构建
  • 弱点
    • 必须通过命令启动(即在提交时不进行自动签出)

我已经找到了可以将两者串在一起的方法——即让 CruiseControl ping 存储库以进行更改,在提交时进行检查,运行测试等,然后在完成部署后调用 Capistrano(甚至虽然 Capistrano 也将进行存储库检出)。

基本上,当一切都说完了,我想建立三个项目:

  • 开发人员:结帐/部署完全没有接触。当有人提交一个文件时,有些东西会检查它、运行测试、部署更改并返回报告
  • 阶段:结帐/部署需要单击按钮
  • Prod:按钮单击执行标记签出或从阶段移动文件

我在 .NET 世界中结合使用 CruiseControl.NET 和 MSBuild,它相当简单。我猜这也是 ruby​​ 部署世界中的一种常见模式,但我很容易弄错。

0 投票
1 回答
830 浏览

ruby-on-rails - 通过 Capistrano 部署 Thinking Sphinx 会产生“第 6 列没有名称”

我不确定我遇到的问题发生在哪里。当我运行部署任务时 rake thinking_sphinx:configure 工作正常,但是当它尝试索引它时会发生此错误:

错误:索引“board_core”:第 6 列没有名称。
错误:索引“board_delta”:第 6 列没有名称。

...对于我所有的索引和增量索引,依此类推。起初我认为这是 capistrano 的问题,因为我在 windows 机器和 mac 上设置了项目,并且 cap staging deploy 部署到了 ubuntu 设置。

似乎出错的查询的 SQL 是:

..意味着破坏的部分是 select 0 as ``sphinx_deleted \,这对我来说似乎很好(当直接通过 mysql 调用它时它可以工作,当然减去使用 $start 和 $end 的 where 子句的部分)所以我不知道是什么可能导致错误。我唯一的想法是 sphinx 的索引器出错了,但如果是这种情况,那么我仍然不知道如何解决这个问题。

提前感谢您的任何帮助/提示。

0 投票
1 回答
1282 浏览

windows - 如何从 bash 启动 Capistrano?

我正在尝试使用 Capistrano 将我的应用程序部署到我的服务器。

我在 Git Bash 中并已提交所有内容并在 Github 上设置了 deloy.rb 文件和远程 repo。

现在,当我尝试任何 cap 命令时,即使是cap -h来自 Git bash,我也会收到此错误:

我在正确的目录中。Git Bash 似乎与 Capistrano 无关。

我该怎么做才能给 Capistrano 打电话?


在 spatz 的回答之后,我将 Capistrano 目录添加到路径中:C:\InstantRails\ruby\lib\ruby\gems\1.8\gems\capistrano-2.5.8\bin。

cap -h现在来自更改的错误消息:

我究竟做错了什么?

0 投票
4 回答
4732 浏览

ruby-on-rails - 卡皮斯特拉诺问题

我在将应用程序部署到服务器时遇到问题。

我已经安装并运行了 msysgit、github 和 capistrano。

我已成功将我的应用程序推送到 github,并且可以 cap deploy:setup从我的本地计算机成功运行以在我的服务器上进行设置。

但..

当我运行cap deploy:cold它时,它要求我输入密码以连接到 github 存储库,然后它再次要求它连接到我的服务器,但随后它给了我一个错误权限被拒绝(公钥)并返回。

似乎这是我的密钥错误,但它如何连接到我的服务器来执行cap deplo:setup

我的公钥在 github 和我的服务器中都相同,这是正确的吗?

此外,当它运行cap deploy:setup时询问我的用户服务器密码是否正确?

请帮忙,因为这已经耽误了我好几天

这是错误:

非常感谢瑞克