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

ruby - Capistrano 3:在任务中使用服务器自定义变量

我有多阶段多服务器设置,在我的任务中我需要使用服务器名称,例如在 stagin.rb 我有:

我想在我的任务中使用那个“名称”变量:

0 投票
2 回答
1850 浏览

ruby-on-rails - 使用 rvm1-capistrano3 安装 Ruby

当我跑

我在控制台输出的末尾收到此错误:

无法确定使用哪个 Ruby;. 应该包含 .rvmrc 或 .versions.conf 或 .ruby-version 或 .rbfu-version 或 .rbenv-version,或 Gemfile 中的适当行。
帽子流产了!

编辑

在我的应用程序的根目录添加一个后.ruby-version,我得到的内容

我正在使用rvm1-capistranogem 运行 Capistrano 3.1.1。它是开箱即用的实现;没有什么特别的事情发生。

我还在输出中收到另外两个错误:

0 投票
1 回答
258 浏览

ubuntu - 使用 Capistrano 3 安装 git-core

我写了这个任务来在 Ubuntu 上安装 git-core。我收到了一些奇怪的错误,尽管安装似乎正确完成。知道为什么吗?

这是包含所有警告的输出。capistrano-2 不会发生这种情况。

0 投票
0 回答
163 浏览

ruby-on-rails - 如何通过 rvm1-capistrano3 安装 Ruby

我想通过 rvm1-capistrano 安装 rvm。每次我运行任务时,它都会告诉我Ruby [version] is not installed。这很奇怪,因为我已经知道它没有安装,这就是我运行任务的原因:安装它。为什么是这样?

这是一个开箱即用的香草安装。我没有改变任何东西。我添加了以下内容:

set :rvm_ruby_version, '2.0.0-p353' # to deploy.rb, 同样的错误 w/without set :pty, true # deploy.rb require 'rvm1/capistrano3' # to Capfile

根据其他人的建议,我.ruby-version在我的应用程序的根目录中添加了一个2.0.0作为内容。

我没有正确理解什么?为什么负责安装 ruby​​ 的任务会告诉我 ruby​​ 没有安装?

0 投票
1 回答
175 浏览

ruby-on-rails - Capistrano 3 无法识别 Bundle 和 rake 命令

我已经安装了 Capistrano 3,但我无法让我的应用程序bundle install在部署时调用和预编译我的资产。

我已经看到我必须在那里为 RVM 配置我的环境http://rvm.io/deployment/capistrano#environment

但我想知道,我有一台开发计算机 A 和一台部署计算机 B,它们都安装了 RVM 用户。

我应该将 Capistrano 配置为在我的开发计算机或部署计算机上使用 RVM?

0 投票
1 回答
742 浏览

ruby-on-rails - Capistrano v3 task fails to start unicorn server with error "eval: bundle not found"

I'm using Capistrano v3 to deploy a rails 4 app to a VPS using unicorn with nginx.

Following the capistrano most recent official documentation, I managed to set up everything related to the deployment itself:

I use the gems 'capistrano', 'capistrano-bundler', 'capistrano-rails' and 'capistrano-rvm' and when I do cap production deploy everything seems to work without any error message (the repository is pulled from github and copied on the server, assets are precompiled and so on).

At this point if I connect to the sever via ssh and type /etc/init.d/unicorn start the server starts as expected, serving my rails app.

However, I created a task to automate this with capistrano v3 that looks like:

But whenever I try capistrano deploy unicorn:start I get the following error:

What's even stranger is that when I start unicorn manually and then do cap production unicorn:stop it works seamlessly.

I suspected some differences in available environment variables when logging in via ssh so I configured 'rvm_bin_path', 'path' and 'gem_path' to be the same as on server but I still get the same error.

I'm running out of ideas, anyone knows what could cause this?

Cheers.

0 投票
2 回答
4033 浏览

ruby-on-rails-4 - 在 capistrano 3 自定义任务中使用 dotenv 变量

我正在尝试创建 capistrano 任务,该任务将显示 .env 文件中的 dotenv 设置的变量

任务:

.env 文件:

运行任务:

这是在一个正常工作的 capified rails 4 应用程序下(我可以运行 cap staging deploy 就好了)

谁能告诉我我错过了什么?

编辑:

由于可能不够清楚,我真正需要的是在我的本地机器上访问 .env ,实际情况:

我在 .env 中存储了一个秘密 api 密钥,它将用于在部署后通知外部 api 服务,api 密钥本身不应该存储在其他任何地方并且是应用程序专有的(每个应用程序都有自己的密钥)所以它不是将其永久存储在本地环境中是个好主意

0 投票
1 回答
3108 浏览

ruby-on-rails - Capistrano 3 带符号链接

我已经 3 天尝试使用 Capistrano 3 部署我的应用程序(Ruby on Rails 4),但我真的找不到答案。

我在控制台中收到错误消息:

“El fichero ya exists”是一个句子,意思是:“文件已经存在”

这是我的 deploy.rb:

这是完整的日志:

$ cap部署生产--trace

……

我不确定 capistrano 是否将文件复制了两次。

谢谢!

0 投票
1 回答
5357 浏览

ruby - Capistrano 3 - 错误:抱歉,您必须有一个 tty 才能运行 sudo

我刚刚将 Capistrano 从 v2 升级到 v3.1。

我已经重新编写了我的任务,其中包括运行一个 shell 脚本来重新启动 NGINX 等等。要重新启动 NGINX,我必须运行sudo导致错误的原因:

抱歉,您必须有 TTY 才能运行 sudo

在 Capistrano 2 中,为了解决这个问题,我添加到我的 Capfile 中:

default_run_options[:pty] = true

Capistrano v3 的等价物是什么?

我的deploy.rb文件如下所示:

0 投票
1 回答
2232 浏览

shell - 在 capistrano 3 + sshkit + rvm 中默认使用 bash --login

我有以下 cap3 任务

用于设置

它应该在我的服务器上执行以下命令

但它给了我

它被解决了

现在我的任务看起来像这样

在 capistrano 2 中,我有以下设置

但在 cap3 中它不起作用

我尝试使用

但在 cap3 中它也不起作用

如何在没有 SSHkit.config 挂钩的情况下解决 cap3 中的bash --login问题?