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

ruby - Capistrano:如何在多个项目 deploy.rb 文件中包含常用设置

这可能是一个新手红宝石问题。我有几个库和应用程序需要部署到几个不同的主机。所有的应用程序和库都将共享这些主机的一些通用设置——例如主机名、数据库服务器/用户/密码等。

我的目标是做类似的事情:

我的问题是如何在所有 deploy.rb 文件中包含这些常用设置?更具体地说,我想创建一个我可以包含的 rb 文件,其中包含一些常见设置和几个特定于主机的任务定义:

然后在我定义阶段、产品等的所有 deploy.rb 文件中“包含”这个文件,并根据需要覆盖任何“通用”配置参数。任何建议,将不胜感激。我已经尝试了一些不同的东西,但是我从所有的上限中得到了错误。

编辑:我试过了

但是我收到错误,抱怨未定义的任务对象。

0 投票
2 回答
1404 浏览

ruby-on-rails - 如何强制 Capistrano 部署的应用程序使用我的开发数据库?

我有一个使用 Capistrano 部署到开发服务器的应用程序。我想强制此部署使用开发数据库。到目前为止,我设法做到这一点的唯一方法是使我的生产数据库信息database.yml等于开发信息。但这是一个完整的黑客。

我试过设置rails_env开发,deploy.rb但没有奏效。

想法?

0 投票
3 回答
2007 浏览

ruby-on-rails - 使用 Capistrano 部署时将静态文件保存在服务器中

public/files通过 Web 界面不断地将文件上传到 Rails 应用程序的文件夹。

我不想将这些文件保存在源代码管理中,因为它们占用了将近 2 GB,所以每次我这样做时,cap deploy它都会将这些文件保存在其中,releases/并用存储在存储库中的原始副本替换目录。

我想知道将这些文件保存在服务器current目录中的最佳方法是什么。我的一些想法是:

  • 从源代码管理中删除目录并将其替换为指向不受 Capistrano 管理的外部目录的链接。
  • 创建 Capistrano 任务以在部署前将目录复制到 /tmp,然后在部署完成后将其复制回 /public。

有标准的方法来做到这一点吗?

0 投票
7 回答
5845 浏览

ruby-on-rails - 当远程 git 在非标准路径上时使用 capistrano

我的共享主机没有提供 git,所以我将它构建并安装到 ~/bin 中。当我运行它时,大多数命令都出现以下错误,尽管它们是成功的。

stdin: is not a tty

我可以通过添加来解决这个问题:

default_run_options[:pty] = true

到我的 deploy.rb,但随后我收到此错误,这会阻止部署:

sh: git: command not found

如何解决这两个错误?

我尝试添加一个 ~/.ssh/environment 文件"PATH=$PATH:$HOME/bin"(并更改 sshd_config 以使用它),但它什么也没做。

似乎 capistrano 使用的任何 shell 都没有使用远程服务器上的 ~/.bashrc 或 ~/.bash_profile 。

任何想法如何在远程机器上设置路径?

其他信息:我在本地使用 OS X,共享服务器是 Site5 上的 linux。

0 投票
2 回答
241 浏览

capistrano - 我怎样才能建立一个“不错的” Capistrano 部署?

我怎样才能设置一个不错的指数cap:deploy

我希望远程服务器能够cp像这样执行命令:

0 投票
1 回答
1015 浏览

ruby-on-rails - Capistrano - RAILS_GEM_VERSION 错误

我想不通。Capistrano 不断给我这个错误:

所以,就像好的错误消息说的那样,我检查了我的config/environments.rb文件,发现确实设置为RAILS_GEM_VERSION

我将其更改为“2.1.2”,因为这是我的服务器上的内容,并再次尝试修改:同样的错误。

所以,我在我的开发机器上升级了 Rails(2.1.1 -> 2.1.2)并再次尝试:同样的错误。

我试着注释掉这一行:同样的错误。

最后,我登录到我的服务器,删除了我的项目目录中的所有内容(config/environments.rb我希望删除所有缓存的副本),然后再次尝试。 同样的错误

这是怎么回事?!

0 投票
16 回答
65485 浏览

ruby - 如何从 Capistrano 运行 rake 任务?

我已经有一个 deploy.rb 可以在我的生产服务器上部署我的应用程序。

我的应用程序包含一个自定义 rake 任务(lib/tasks 目录中的 .rake 文件)。

我想创建一个将远程运行该 rake 任务的上限任务。

0 投票
2 回答
7707 浏览

deployment - 使用 Capistrano 通过 FTP 部署(非 Rails 站点)?

我该怎么办?

我有一个主要是静态的站点,它托管在一个便宜的网络主机上,它只允许 FTP 访问主机。该站点在 git 中进行跟踪。我正在使用 OS X。

我想通过简单地上传网站的新版本cap deploy

0 投票
2 回答
1172 浏览

ruby-on-rails - 如何使用冷冻 Capistrano?

背景故事

我在 Rails 2.1 上,需要将 Capistrano gem 冻结到我的供应商文件夹(因为我的主机已经破坏了他们的 cap gem 依赖项,我想让自己尽可能独立)。

在我的本地 Windows 机器上,我将以下内容放在了 environment.rb

宝石已经安装,所以我冻结了它们。检查...

然后我在本地提交到 SVN 并在 prod Linux 机器上进行更新。

问题

当我尝试运行 Capistrano 的冻结版本时,出现以下错误。

任何想法我做错了什么?

更新

查看新的相关问题

0 投票
2 回答
279 浏览

ruby-on-rails - 如何使用冷冻 Capistrano 第 2 部分?

几天前我提出了关于使用冷冻 Capistrano 的问题,但在我的供应商文件夹中运行 Capistrano 时仍然遇到问题。

当我尝试运行我的冻结版本 cap

我收到一个错误

我将 net-ssh-2.0.4 冻结在我的供应商文件夹中,因为我知道它是一个依赖项,那么我该如何使用它呢?

我希望将我的供应商文件夹添加到 gempath 下的 .gemrc 文件中:会成功的,但它没有。“gem environment”显示供应商路径,但“gem list”不显示供应商文件夹中的 gem。

有任何想法吗?