问题标签 [sshkit]

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

ruby - capistrano-template:未定义的方法“模板”用于#

为了使用带有 capistrano 的 erb 模板(无导轨),我遵循了https://github.com/faber-lotto/capistrano-template中给出的说明,但是在运行[bundle exec] cap staging define_usermacros -n --tracecapistrano 时告诉我该template方法未知SSHKit::Backend::Printer

我尝试在捆绑包中升级和降级 capistrano、airbrush、sshkit,但无济于事,事情仍然失败。

目前 cap doctor 告诉我我正在使用以下版本:

环境

宝石

这是capistrano的东西:

宝石文件:

帽文件:

配置/部署.rb:

...当然还有一个 erb 模板config/deploy/templates/shared/resource.cfg.erb

欢迎提供有关解决方案或如何调试问题的任何提示!


非常糟糕的TTFB时间

我有安装了 Apache 的 Centos 7 服务器,在过去的两个月里,我们的内部网页的 TTFB 时间非常糟糕。只在一页上不好,并不总是(每 3-4 次点击)。一年前创建服务器后,我们没有更改任何设置。网页充满了 ajax、jquery 和 javascript。任何想法如何解决这个问题?

TTFB图片

0 投票
1 回答
182 浏览

ruby - Ruby sshkit IPv6 字符串寻址问题

我确定这是我从根本上误解的问题。我正在使用sshkitIPv6 寻址连接一些文件并将其上传到服务器。

我可以通过 SSH 连接到具有如下地址的服务器:

2001:aaa:bbb:cc:dddd:eeee:ffff:gggg

在我尝试利用杠杆sshkit做同样的事情之前,没有任何问题。下面的示例说明了相同的 IPv6 字符串如何在我正在运行的脚本中的数组(具有许多地址)中表示:

on ["[2001:aaa:bbb:cc:dddd:eeee:ffff:gggg]"], in: :parallel do |host| #some stuff end

我最终看到的是:

Exception on host 2001:aaa:bbb:cc:dddd:eeee:ffff caught: getaddrinfo: nodename nor servname provided, or not known

注意尾随字节似乎被截断了?我应该以不同的方式格式化该 IPv6 地址字符串吗?

0 投票
0 回答
1503 浏览

ruby-on-rails-4 - 如何解决 /usr/bin/env: ruby​​: No such file or directory, with sshkit and rvm on rails4 application

我正在尝试rake entrprise:pull使用 sshkit 使用 rake 任务从 Rails 应用程序在远程系统上运行 rake 任务,而我正在使用 rvm。

耙任务

在控制器中,我调用 rake 任务如下

rake app:pull 试图 rake enterprise:pull在远程系统内部运行,当时它抛出/usr/bin/env: ruby: No such file or directory错误

但是当我 ssh 进入远程系统ssh username@ip并且如果运行 'rake enterprise:pull' 它工作正常。my-rails-app 使用 capistrano-3 和 rvm 部署。

如何摆脱这个问题?

0 投票
0 回答
309 浏览

ruby - capistrano 中止 - SSHKit::Runner::ExecuteError 和 Devise.secret_key 未设置

我正在尝试通过使用 capistrano 部署从开发到生产的更改来更新应用程序(Rails 4.1.12;ruby 1.9.3p484)。下面是日志(我屏蔽了 IP 地址和建议的密钥)。

以前从未遇到过运行部署的问题。已搜索并发现有类似错误的帖子,但尚未找到解决方案。我确实按照说明将 Devise.secret_key 添加到 Devise 初始化程序并重新启动应用程序(开发和产品)。下一次部署尝试收到相同的错误,并建议使用不同的密钥。

非常感谢所有帮助、提示和建议。谢谢。

更新:我只是尝试使用 bundle exec cap production deploy 进行部署并没有出错,但在运行 cap production deploy 时仍然出错

更新 2:我使用 Figaro 生成了一个 application.yml 文件(并附加到 gitignore)。在 devise.rb 文件中,我创建了一行config.secret_key = ENV["config.secret_key"]在 application.yml 文件中,我创建了一行config.secret_key: 'random_128_chr_string',然后重新启动开发服务器并运行cap production deploy不幸的是得到了同样的错误。

部署.rb:

帽文件:

0 投票
2 回答
321 浏览

capistrano - Capistrano 3:如何抑制状态输出?

我创建了一个 Capistrano 任务来执行 rake 命令。我计划将输出(STDOUT)重定向到一个文件。例如

cap production invoke:rake TASK=mytask > out

这可行,但我的输出包括一些额外的 Capistrano 状态输出,例如

00:00 invoke:rake 01 $HOME/.rbenv/bin/rbenv exec bundle exec rake mytask ... ✔ 01 ubuntu@mydomain.com 11.399s

有什么办法可以抑制这种情况吗?

0 投票
0 回答
183 浏览

capistrano - NameError: 未初始化的常量 SSHKit::Logger::ANY

每当我cap production deploy,我收到以下错误:

帽文件:

myproject.rb:https ://gist.github.com/LeoNero/f34d59c60eb169dc83e9612283253ee6

我正在使用 SSHKit 1.7.1 和 Capistrano 3.4.0(我已经用 3.90 和 3.5.0 进行了测试,我得到了同样的错误......)

我该如何解决?

0 投票
0 回答
1184 浏览

ruby-on-rails - 帽子流产了!SSHKit::Runner::ExecuteError: 和 Net::SSH::AuthenticationFailed 用户

我一直在尝试使用 Capistrano 部署 Rails 应用程序,但是当我运行时,cap production deploy我得到:

我试过跑步cap production rvm:check --trace,我得到了这个

这就是我的 ssh 部分的deploy.rb样子:

我有这条线config/deploy/production.rb

当我运行evalssh-agent`` 并且ssh-add ~/.ssh/id_rsa它工作正常。

我在这里错过了什么吗?我该如何解决这个问题?

谢谢你。

0 投票
0 回答
164 浏览

ruby-on-rails - 在服务器上部署时出现异常,如何解决?

我正在使用 capistrano 部署在 ubuntu 服务器上

简要回应:

作为 ubuntu@planhop.net 执行时:无效编码

下面附上的日志这是详细的回复:

和:

0 投票
1 回答
75 浏览

capistrano - SSHKit 命令或 Capistrano 任务在上传时过滤/替换令牌

我正在使用 Capistrano 为遗留的非 Ruby 应用程序部署配置文件,出于神秘的遗留原因,需要使用目标主机的完全限定名称对其进行参数化,例如

除此之外,对于给定的环境,配置文件之间没有区别,所以我希望能够只定义一个模板(示例使用 Mustache,但可以是 ERB 或其他):

我目前对 hack 的想法只是使用gsubStringIO

但似乎应该有一个更标准的、开箱即用的解决方案。

0 投票
1 回答
179 浏览

input - 如何使用 SSHKit 从远程服务器请求用户输入?

我需要从远程服务器上的 ruby​​ 脚本中询问用户输入。我设法使用以下代码用 bash 执行它

当我在本地机器上运行这个脚本时,我看到

我尝试将 bash CMD 代码包装到 ruby​​ 脚本中:

并得到以下结果:

我正在编写上面的代码,查看SSHKit Github 主页上的交互式命令部分

如何在远程服务器上使用 SSKKit 从 ruby​​ 脚本捕获用户响应?