【发布时间】:2014-04-08 17:32:56
【问题描述】:
我正在将应用程序从 capistrano 版本 2 转换为版本 3,现在我收到此错误:
DEBUG [7095ead3] Running /usr/bin/env git ls-remote git@myapp.git.beanstalkapp.com:/myapp/myapp.git on myapp.com
DEBUG [7095ead3] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/myapp.com/git-ssh.sh /usr/bin/env git ls-remote git@myapp.git.beanstalkapp.com:/myapp/myapp.git )
DEBUG [7095ead3] fatal: cannot exec '/tmp/myapp.com/git-ssh.sh': Permission denied
DEBUG [7095ead3] fatal: unable to fork
DEBUG [7095ead3] Finished in 0.195 seconds with exit status 128 (failed).
我怎样才能克服这个问题?
【问题讨论】:
-
您能否使用 capistrano 将应用程序直接克隆到服务器中?请检查该选项,因为 .ssh 配置中可能存在错误
-
是的,你是对的,我实际上无法从服务器运行命令。这是在 capistrano 2 中从未做过的新事物吗?就像 cap 2 结帐代码在本地然后推送到服务器一样?
-
再想一想,我不一定能够在服务器上运行该命令,因为当我在我的开发机器上运行它时,我有选项
forward_agent: true设置它传递我的凭据(包括密钥)在运行命令时向服务器发送。 -
我可以看到您的 GIT_SSH 正在尝试在 /tmp 中进行克隆,我不确定您的服务器 /tmp 上是否允许执行可执行文件和脚本,您可以在 /home/ 中创建您的 tmp 目录吗? user> 看看是否有帮助..
-
可以,但是如何修改 capistrano 任务,让它知道使用我指定的 tmp 目录?
标签: ruby-on-rails ruby capistrano capistrano3