【问题标题】:Capistrano and Bitbucket DeploymentCapistrano 和 Bitbucket 部署
【发布时间】:2016-03-08 15:07:27
【问题描述】:

使用 Capistrano 3.4.0 版

  1. 我在我的 centos 7 服务器上创建了一个 ssh 密钥
  2. 我已经在 bitbucket 上设置了 ssh 密钥
  3. repo url 在我的 deploy.rb 文件中设置如下:

    set :repo_url, 'git@bitbucket.org:Username/myProjectName.git'

  4. 在我的 production.rb 文件中:

    角色 :myProjectName, %w{用户名@131.103.20.167}

    设置 :ssh_options, { auth_methods: %w(密码), 密码:“mybitbucketpasswordhere” }

  5. 我检查了我是否可以使用ssh -T git@bitbucket.org 命令使用我的用户名登录:

    以用户名登录。

  6. cap production deploy 在我的项目文件夹中,我收到以下错误:

    INFO [90fbd4ee] 运行 /usr/bin/env mkdir -p /tmp/myProjectName/ 作为用户名@131.103.20.167 调试 [90fbd4ee] 命令:/usr/bin/env mkdir -p /tmp/myProjectName/ (回溯仅限于导入的任务) 帽子流产了! Net::SSH::AuthenticationFailed: 用户 Username@131.103.20.167 的身份验证失败

    任务:TOP => git:check => git:wrapper (通过使用 --trace 运行任务查看完整跟踪) 部署失败并出现错误:用户 Username@131.103.20.167 的身份验证失败

我哪里出错了?

提前致谢。

【问题讨论】:

    标签: ruby-on-rails git ssh capistrano bitbucket


    【解决方案1】:

    您已添加 SSH 密钥,这意味着您无需提供密码。所以这一行:set :ssh_options, { auth_methods: %w(password), password: "mybitbucketpasswordhere" } 不正确。

    我相信 capistrano 的默认设置是使用 SSH 身份验证,因此请尝试删除该行。

    【讨论】:

    • 我删除了该行,写入文件,仔细检查但我得到了同样的错误。
    • 当你通过 SSH 连接到你的服务器时,你可以 git clone 你的项目而无需输入密码(即使用 ssh 密钥认证)吗?
    • 是的,你是对的,但我已经尝试过了。我应该在哪里检查更多?
    • 我不确定我明白你的意思吗?您可以 ssh 进入您的服务器并 git clone 您的项目而无需输入密码吗?或者这会给你一个错误?
    • 所以此时我们并没有尝试通过 ssh 连接到 bitbucket。我们正在尝试通过 SSH 连接到您设置的 CentOS 7 服务器。首先,确保您可以通过 SSH 连接到该 Centos 7 服务器。然后,当您登录到 CentOS 7 服务器时,验证您是否可以从 Bitbucket git 克隆您的项目到您的 CentOS 7 服务器。一旦一切正常,您就可以继续让 capistrano 工作了。
    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多