Capistrano 和 Bitbucket 部署

Capistrano and Bitbucket Deployment

使用 Capistrano 版本 3.4.0

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

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

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

    角色:我的项目名称,%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/ as Username@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

  7. 的身份验证失败

我哪里出错了?

提前致谢。

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

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