我是 Capistrano 的新手,正在尝试运行脚本将源代码部署到通过 VPN 连接的 QA 服务器。在 Windows 机器上的“Git bash”shell 中测试了脚本。我在连接 github 时没有遇到任何问题,如下所示。
$ ssh -T[电子邮件保护] 嗨,jkjunguser!您已成功验证,但 GitHub 不提供 sh 访问。
使用 Cisco ANyConnect v2.5 建立与客户端网络的 VPN 连接。测试了从我的本地 shell 到目标服务器的 SSH 连接,成功了。还测试了从目标服务器的 github 连接,没有问题。
但是,当我运行部署脚本时,出现“从身份验证套接字读取响应长度错误。”错误,如下所示。
$ cap qa 部署 * ?[32m2013-05-30 13:53:16 正在执行 `qa'?[0m * ?[32m2013-05-30 13:53:16 正在执行“部署”?[0m * ?[32m2013-05-30 13:53:16 正在执行 `deploy:update'?[0m ** 交易:开始 * ?[32m2013-05-30 13:53:16 正在执行 `deploy:update_code'?[0m 更新所有服务器上的缓存结帐 ?[33m本地执行:“git ls-remote[电子邮件保护]:cleanShot/客户端-ph ase2.git master”?[0m ?[2;37m命令在 7293 毫秒内完成?[0m * ?[33mexecuting "如果 [ -d /home/web/qa.client.com/shared/cached-copy ]; 然后 cd /home/web/qa.client.com/shared/cached-copy && git fetch -q origin && git fet ch --tags -q 来源 && git reset -q --hard b0f37d41f5d8aa5716986725d1c72142536af 8d2 && git clean -q -d -x -f; 否则 git clone -q -b master[电子邮件保护]:cleanShot /client-phase2.git /home/web/qa.client.com/shared/cached-copy && cd /home/ web/qa.client.com/shared/cached-copy && git checkout -q -b deploy b0f37d41f5d8a a5716986725d1c72142536af8d2; fi”?[0m 服务器:[“10.33.XX.XXX”] 密码: [10.33.XX.XXX] 正在执行命令 ** [10.33.XX.XXX :: err] 从身份验证套接字读取响应长度时出错 等。 ** [10.33.XX.XXX :: err] 错误:未找到存储库。 ** [10.33.XX.XXX :: err] 致命:远端意外挂断 ?[2;37m命令在 2217 毫秒内完成?[0m *** [?[34mdeploy:update_code?[0m] ?[34m回滚?[0m * ?[33mexecuting "rm -rf /home/web/qa.client.com/releases/20130530015346; tru e"?[0米 服务器:[“10.33.XX.XXX”] [10.33.XX.XXX] 正在执行命令 ?[2;37m命令在 522 毫秒内完成?[0m 失败:“sh -c'如果[-d /home/web/qa.client.com/shared/cached-copy];则cd / 主页/web/qa.client.com/shared/cached-copy && git fetch -q origin && git fetch - -tags -q 原点 && git 重置 -q --hard b0f37d41f5d8aa5716986725d1c72142536af8d2 && git clean -q -d -x -f; 否则 git clone -q -b master[电子邮件保护]:公司/ 客户端阶段2.git /home/web/qa.client.com/shared/cached-copy && cd /home/web/ qa.client.com/shared/cached-copy && git checkout -q -b deploy b0f37d41f5d8aa571 6986725d1c72142536af8d2; fi'" 于 10.33.XX.XXX
使用的部署脚本如下。[deploy.rb]
设置:存储库,“[电子邮件保护]:cleanShot/客户端-phase2.git” 设置:scm,:git 设置:分支,获取(:分支,“master”) 设置:use_sudo,false 设置:normalize_asset_timestamps,false ssh_options[:转发代理] = true 任务:qa 做 设置:用户,'web' 设置:应用程序,“qa.basspro.com” 设置:deploy_to,“/home/web/#{application}” 设置:deploy_via,:remote_cache 设置:current_path,“#{deploy_to}/current” 设置:releases_path,“#{deploy_to}/releases/” 设置:shared_path,“#{deploy_to}/shared/” 角色:web,“10.33.88.101” 结尾 在'deploy:update'之后,:update_permission
如果能解决此“从身份验证套接字读取响应长度错误”错误,那就太好了。请给我任何有用的建议。我很乐意尝试任何建议。