【发布时间】:2016-02-19 17:55:54
【问题描述】:
我正在尝试使用我的 Rails 应用程序设置 capistrano 并使用 digitalocean 进行托管。
我有一个运行 unicorn 和 nginx 的 Ubuntu 服务器。
我的 capistrano 部署在这个阶段一直失败:
DEBUG [08cab5b3] Command: cd /home/rails/automata && ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/automata/git-ssh.sh /usr/bin/env git clone --mirror git@bitbucket.org:automata_tech/staging.git /home/rails/automata/repo )
DEBUG [08cab5b3] Cloning into bare repository '/home/rails/automata/repo'...
DEBUG [08cab5b3] /home/rails/automata/repo: Permission denied
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deployer@178.62.4.140: git exit status: 1
git stdout: Nothing written
git stderr: Cloning into bare repository '/home/rails/automata/repo'...
/home/rails/automata/repo: Permission denied
SSHKit::Command::Failed: git exit status: 1
git stdout: Nothing written
git stderr: Cloning into bare repository '/home/rails/automata/repo'...
/home/rails/automata/repo: Permission denied
Tasks: TOP => git:create_release => git:update => git:clone
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as deployer@178.62.4.140: git exit status: 1
git stdout: Nothing written
git stderr: Cloning into bare repository '/home/rails/automata/repo'...
/home/rails/automata/repo: Permission denied
我已在服务器上生成了一个 ssh 密钥并将其添加到我的 bitbucket 帐户中。
如果我 ssh 进入服务器并 git clone 存储库,那就可以了。
在服务器上运行 ssh -T git@bitbucket.org 返回:
logged in as company.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
staging.rb:
set :ssh_options, {
forward_agent: true,
auth_methods: %w(publickey)
}
【问题讨论】:
标签: ruby-on-rails capistrano digital-ocean