- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试将 Capistrano 设置为我的同事在我正在处理的子项目上工作的概念证明,该子项目有自己的服务器。
我已经完成了所有的配置,只需要第一次运行部署,SSH 转发就可以了,等等......但是我遇到了一个我以前没有见过的错误,也找不到任何引用如何解决:
andrefigueira@Ubuntu ~/Code/dashboard $ cap slimqa01 deploy --trace
** Invoke slimqa01 (first_time)
** Execute slimqa01
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke deploy (first_time)
** Execute deploy
** Invoke deploy:starting (first_time)
** Execute deploy:starting
** Invoke deploy:check (first_time)
** Execute deploy:check
** Invoke git:check (first_time)
** Invoke git:wrapper (first_time)
** Execute git:wrapper
00:00 git:wrapper
01 mkdir -p /tmp/dashboard-capistrano/
cap aborted!
ArgumentError: invalid option(s): known_hosts
/usr/lib/ruby/vendor_ruby/net/ssh.rb:194:in `start'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/connection_pool.rb:59:in `call'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/connection_pool.rb:59:in `with'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/netssh.rb:149:in `with_ssh'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/netssh.rb:102:in `execute_command'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `tap'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:74:in `execute'
/var/lib/gems/2.3.0/gems/capistrano-3.5.0/lib/capistrano/tasks/git.rake:16:in `block (3 levels) in <top (required)>'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:29:in `instance_exec'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:29:in `run'
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => git:check => git:wrapper
The deploy has failed with an error: invalid option(s): known_hosts
** Invoke deploy:failed (first_time)
** Execute deploy:failed
** DEPLOY FAILED
所以我认为 Capistrano 正在尝试运行带有 known_hosts 作为选项的东西,但它试图运行它的东西不识别该选项,因此部署在它甚至试图联系服务器之前就死了,失败几乎发生了当我在 cap slimqa01 deploy
上按下 enter 键后立即。
有人遇到过类似的问题吗?
deploy.rb 下面:
# config valid only for current version of Capistrano
lock '3.5.0'
set :application, 'dashboard-capistrano'
set :repo_url, 'git@github.com:private/repo.git'
# Default branch is :master
ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp
# Default deploy_to directory is /var/www/my_app_name
set :deploy_to, '/var/www/dashboard-capistrano'
# Default value for :scm is :git
set :scm, :git
# Default value for :format is :airbrussh.
set :format, :airbrussh
# You can configure the Airbrussh format using :format_options.
# These are the defaults.
set :format_options, command_output: true, log_file: 'log/capistrano.log', color: :auto, truncate: :auto
# Default value for :pty is false
# set :pty, true
# Default value for :linked_files is []
# set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')
# Default value for linked_dirs is []
# set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system')
# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }
# Default value for keep_releases is 5
set :keep_releases, 5
set :ssh_options, {
verbose: :debug
}
task :whoami do
on roles(:web) do
execute :whoami
end
end
namespace :deploy do
after :restart, :clear_cache do
on roles(:web), in: :groups, limit: 3, wait: 10 do
# Here we can do anything such as:
# within release_path do
# execute :rake, 'cache:clear'
# end
end
end
end
我在运行单个任务时也遇到了错误:
andrefigueira@Ubuntu ~/Code/dashboard $ cap slimqa01 whoami
00:00 whoami
01 whoami
(Backtrace restricted to imported tasks)
cap aborted!
ArgumentError: invalid option(s): known_hosts
Tasks: TOP => whoami
(See full trace by running task with --trace)
最佳答案
我有同样的问题。
将 net-ssh 从 3.0.2 更新到 3.1.1 后,它可以正常工作。
gem 更新 net-ssh
关于php - Capistrano 错误 - 无效选项 : known_hosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865299/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
我正在尝试使用 ansible 将已知主机添加到 known_hosts 文件 vagrant@jedi:/vagrant$ ansible web -m known_hosts -a "name=w
我创建了一个本地 git 存储库,我想将其推送到 Github 和 Amazon 的 CodeCommit。 我设置了两个 Remote 并相应地命名了它们: git remote add githu
我用 Java 为一些客户开发了一个软件,我的软件需要访问 known_hosts 文件,因为它使用 JSCH 命令。我在运行 Linux 的计算机和几台 Mac 计算机上对其进行了测试,并且运行良好
我用 Java 为一些客户开发了一个软件,我的软件需要访问 known_hosts 文件,因为它使用 JSCH 命令。我在运行 Linux 的计算机和几台 Mac 计算机上对其进行了测试,并且运行良好
我有一个包含约 1000 个主机的文件,每行一个主机。对于每个主机,我想检查该主机的条目是否已存在于 known_hosts 文件中。如果没有,我想将主机添加到 known_hosts 文件中。否则,
我正在尝试将公钥从服务器 A 复制到服务器 B 中的 known_hosts 文件。它们都是 linux 服务器。最初我想打开公钥文件并将其内容复制到 known_hosts 文件,但我怀疑这不是正确
我正在尝试从 ssh 用于验证主机的 known_hosts 文件中提取 ECDSA 公钥。我以下面的一个为例。 这是我 known_hosts 文件中“127.0.0.1 ecdsa-sha2-ni
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
是否有一些 cli 工具可以用来验证 known_hosts 的内容?也许尝试 ping 那里的所有主机,看看我是否可以连接到每个主机? 可能使用 ssh-keygen或 ssh-keyscan ?
我正在尝试使用 IDEA 捆绑的 Git 集成插件将本地分支推送到远程。 当它开始推送时,我可以在版本控制控制台窗口中看到类似这样的内容 git push origin : Idea 显示名为“Pus
我正在使用 SSHJ 执行远程命令,当主机位于 SSH known_hosts 文件中时,我可以成功执行此操作。但是,如果主机不在此文件中,那么我希望用户可以选择添加它。 我相信这样做的方法是创建自定
我正在尝试将 AWS RDS 与我的计算机上的工作台连接。为此,我传递这些输入: SSH 主机名: ec2-52-27-226-'''.us-west-2.compute.amazonaws.com
我在我的脚本中使用以下命令将主机添加到 ssh 中的已知主机。 VAR2=$(expect -c ' spawn ssh -o StrictHostKeyChecking=no '"$REMOTE_
我正在尝试将 Capistrano 设置为我的同事在我正在处理的子项目上工作的概念证明,该子项目有自己的服务器。 我已经完成了所有的配置,只需要第一次运行部署,SSH 转发就可以了,等等......但
当我使用 pssh 时,试图访问不在 UNIX 内的远程机器已知主机文件,输入密码后 pssh 卡住。使用直接 ssh 命令添加主机后,pssh 就可以工作了。 那么有没有给 pssh 命令的选项来避
使用 jgit 和 gitolite 进行源代码控制,我有一个应用程序根据命令生成某些代码,我们希望将其提交给源代码控制。目标是快进 pull ,提交新代码,然后推送它。 我有以下方法: privat
使用 SSHJ 时出现异常。 这是我如何实现它: public static void main(String[] args) throws IOException { // TODO Aut
为了让 Camel 连接到远程主机,它需要已经看到主机的指纹并将其记录在 known_hosts 文件中,就像 .ssh/known_hosts 一样。 我从数据库中的一个字段中获取该文件的设置,该字
我在 Ubuntu Linux 上使用 GIT 作为自动构建过程的一部分。因为它是一个自动化的构建过程,所以最好将所有配置都放在版本控制中,这样我就不必在配置更改时登录每个构建代理。 为了让它工作,我
我是一名优秀的程序员,十分优秀!