我目前正在与 Capistrano 和 Git 作斗争。这是我的设置:
- Windows Server 2003 下的生产服务器,安装了 msysgit。
- Windows 7下的开发机,使用Aptana进行开发
是的,我知道,Windows 无处不在。但我现在必须处理这个问题。
所以,我的问题是:在 Capistrano 部署尝试期间,git clone
命令卡住了。它只显示以下消息,但接下来什么也没有发生。
这是 Capistrano 启动的命令:
git clone ssh://user@www.server.fr/Git_Repositories/MyApp /u/apps/MyApp/releases/20110614124655
结果如下:
** [www.myserver.fr :: out] 克隆到 /u/apps/MyApp/releases/20110614124655...
我查看了/u/apps/MyApp/releases/20110614124655
Capistrano 创建的文件夹,我唯一能找到的就是 .git 文件夹。所以git clone
我猜该命令确实成功地初始化了一个空存储库。
因此,我进行了一些测试以找出问题所在:
git clone
如果我使用远程桌面连接登录然后在 Git 提示符下运行命令,我可以在我的服务器上成功运行命令。- 我无法
git clone
通过 ssh 在我的服务器上运行该命令。cap deploy
我得到的结果与从我的开发机器上运行时完全相同
所以我猜在 Git 和 SSH 之间存在某种问题。
这是我的deploy.rb
文件,也许它可以帮助:
set :application, "ADM"
set :repository, "ssh://user@www.server.fr/Git_Repositories/MyApp"
set :scm, :git
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
set :scm_username, "git_user"
set :user, "user"
set :branch, "master"
set :scm_verbose, true
role :web, "www.server.fr"
role :app, "www.server.fr"
role :db, "www.server.fr", :primary => true
谢谢!