我对Capistrano部署有一个很奇怪的问题,我的同事机器工作正常,但我拒绝玩得很好。
我正在使用cygwin并安装了外部ruby。
我们在服务器上使用root用户,并在./ssh/authorized_keys2中添加了ssh-keys,这允许我部署和ssh到服务器。
尝试将子模块克隆到远程缓存时,问题变得明显。我总是得到错误publickey被拒绝。
以下是部署文件:
# What is the name of the local application?
set :application, "domain"
# What user is connecting to the remote server?
set :user, "root"
# Where is the local repository?
set :repository, "file:///blah.git"
set :local_repository, " ssh://blah.git"
# What is the production server domain?
role :web, "vserver"
# What remote directory hosts the production website?
set :deploy_to, "/home/<user>/public_html/"
# Is sudo required to manipulate files on the remote server?
set :use_sudo, false
# What version control solution does the project use?
set :scm, :git
set :branch, 'master'
# How are the project files being transferred?
set :deploy_via, :remote_cache
# Maintain a local repository cache. Speeds up the copy process.
set :copy_cache, true
# Ignore any local files?
set :copy_exclude, %w(.git,deployment,.project)
#enabled submodules
set :git_enable_submodules, 1
set :group_writable, false
set :ssh_options, {:forward_agent => true}
我意识到我不会包含足够的信息,只是让我知道需要填补什么空白,因为它慢慢让我疯狂为什么我的失败和我的同事完美无瑕地工作。任何帮助都会很棒,我一直在这里和其他各种来源一直在寻找这个问题。
答案 0 :(得分:0)
整个问题是cygwin。我有一个安装链接到安装在Windows c:\中的ruby库,我认为然后尝试使用不正确的密钥或根本没有找到它,所以只需下载ruby源并直接安装到cygwin解决了我所有的问题!