问题标签 [capistrano3]

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 回答
3912 浏览

capistrano - 如何将参数传递给 deploy.rb 中的 Capistrano 3 任务

是一个如何将参数传递给 capistrano 3 任务的教程。

可以执行:

我如何在我的 deploy.rb 中使用它?以下不起作用。

0 投票
1 回答
1044 浏览

capistrano - 如何获取 Capistrano 3 中当前任务的名称?

在 Capistrano 2.x 中,我可以current_task.name在任务内部使用来获取当前任务的名称。Capistrano 3中是否有类似的东西?

0 投票
4 回答
4388 浏览

ruby-on-rails - 为什么首先使用 Capistrano 部署运行 db:migrate?

我第一次使用 Capistrano 部署到生产环境,运行时出现错误

cap production deploy

错误是:

这个错误实际上是完全有道理的。引用的表不存在。我不明白为什么迁移正在运行?为什么不是在第一次运行时从模式中创建数据库。我是否无意中删除了说明已运行哪些迁移的文件?要么只是删除它,要么通过“.gitignoring”它?

我想我知道如何修复它(rake db:create 或类似的),但我不明白的是,如果在 Capistrano v3 中它知道这是第一次,为什么它不会直接使用模式而不是运行所有迁移?我是一个菜鸟,这似乎是合理的,但另一方面,运行迁移会达到相同的结果,所以......(但是那些在生产中不盲目使用迁移的人呢;不会他们被卡住了吗?)谢谢。

0 投票
1 回答
59 浏览

git - 仅将源部署到应用服务器

我正在使用 capistrano 3 设置一个新环境,其中有一个单独的数据库服务器作为db角色。这是我正在使用的规范:

但是,它会尝试检查my-db-server上的源代码,我不想要它甚至没有git安装它。鉴于deploy任务是内置的,我如何阻止 capistrano 这样做?

我可以使用 来解决它ROLES=app,web cap myenv deploy,但是我怎样才能将其设为默认值,以便我的团队成员不必担心呢?

0 投票
1 回答
1550 浏览

ruby-on-rails - Capistrano 3 进程失败

我正在从 Capistrano 2 升级到 Capistrano 3,一切似乎都运行成功,除了我看到这两个在运行时失败:

为什么这些失败,我该如何解决?

0 投票
1 回答
1437 浏览

ruby-on-rails - Capistrano 部署后资产链接到错误的发布

所以我是 Capistrano 的新手,并试图用 Capistrano 部署我的应用程序。

做了很多谷歌搜索,真的很难弄清楚,我找到的所有文档都适用于旧版本的 Capistrano,它们似乎破坏了与其他所有版本的兼容性。

但是我偶然发现了一个我自己似乎无法解决的问题。

Capistrano 部署后,应用程序资产链接到错误的发布文件夹,并且应用程序只是返回缺少模板错误。

事实上,他试图访问的文件夹不存在,因为当前版本文件夹链接到其他版本

请注意资产如何尝试访问20140213082235,实际上,当前发布文件夹是20140213100546。如果它有帮助,无论我运行多少次部署, 20140213082235似乎总是保持他一遍又一遍地尝试访问的同一个文件夹。

地狱这个版本甚至不存在于发布文件夹中。只有一个版本(我之前清理过)。

为了争论,我在这个特定部署之前删除了 shared/bin、releases 文件夹和当前符号链接。

这是我的 Capistrano deploy.rb

这是 Capistrano 在部署期间写入的调试信息。

如果它有任何帮助,Nginx 乘客服务器块

很感谢任何形式的帮助。

先感谢您。

0 投票
1 回答
255 浏览

ruby-on-rails - Rails 4 / Capistrano 3 部署停止工作(没有错误)

我构建了我的第一个 Rails 应用程序并在家庭服务器上运行生产。Capistrano 3 工作了大约一个月,现在它刚刚停止部署。当我运行时cap production deploy,我的应用程序不会在服务器上更改。它将我的文件上传git-ssh.sh到根临时目录,然后“成功”退出。自从它最初工作以来,除了修改一些 html 之外,我没有改变任何东西。

我的远程仓库在 bitbucket 上并且有最新的提交。:repo_url我可以去注释掉里面deploy.rb并且没有错误。

由于没有错误,而且我是新手,我觉得这是一种非常普遍的行为,我忽略了一些小问题。有任何想法吗?

正常输出:

详细输出:

0 投票
2 回答
677 浏览

shell - Capistrano 3. 在服务器上设置 bash shell 而不是 csh

当 cap3 尝试在我的 FreeBSD 服务器上执行命令时 - 我有一个错误并且我的 cap3 任务不起作用

我知道为什么 - 因为我的服务器默认使用 csh shell

以下 cap3 变量对我不起作用

如何为 cap3 任务设置 shell?

0 投票
0 回答
215 浏览

ruby - Capistrano:部署失败并出现错误:#

我正在努力将一个应用程序升级到 Rails 4/Ruby 2/Cap 3。我觉得我已经完成了 80%。运行以下 capistrano 部署任务时:

我收到以下错误:

The deploy has failed with an error: #<Errno::EPROTO: Protocol error @ rb_file_s_stat -

当我不使用此任务时,部署工作正常。该错误使我对从哪里开始调试感到困惑。

更新:

我几乎可以肯定该错误与我对更新的使用有关!方法,我相信这会将这个错误放入 SSHKit 的领域。


您可以使用 etree 库中的 find() 或 findall() 函数。

0 投票
1 回答
8784 浏览

deployment - Capistrano 创建任务以更改当前符号链接

我正在尝试为我的网站设置 Capistrano 部署,我的部署工作正常,所有身份验证都很好,但是我使用 Media Temple 托管,因此默认符号链接将不起作用,因为 apache 无法访问为当前指定的路径最新发布的。

我正在尝试做一个任务来取消当前符号链接的链接,然后用相对路径重新创建它,但是 Capistrano 文档严重缺乏,我无法在任何地方找到更多关于如何准确设置它的信息。

我曾尝试使用 sh,但这似乎是在我的计算机上而不是在服务器上运行命令,找不到运行命令,我尝试执行但找不到正确的格式来执行诸如 rm 或 ln 等操作。 .

目前我正在尝试以下方法: