我正在使用:Rails 3,ruby 1.9.2并尝试使用capistrano进行部署。 当我运行cap deploy时:check,capistrano告诉我它无法在我的部署服务器上找到git(见下文)。新手capistrano rails部署问题(在路径中找不到git)
对我做错什么想法?
这是我的设置。
- 我有一个混帐回购协议@ github上
- 我有一个 笔记本电脑的 的GitHub库更新本地副本
- 我有一个本地 “生产”服务器(192.168.0.103),其中 生产应用应该部署
- 我跑我的笔记本电脑从本地回购所有命令(而不是生产服务器)
如果我运行cap deploy:setup
,我的deploy.rb文件成功地将“发布”和“共享”目录添加到我的生产服务器上(又名192.168.0.103)。
如果我运行cap deploy:check命令,则会失败,并显示错误消息 在路径(192.168.0.103)中找不到`git'。
奇怪的是(对我来说至少)是git肯定安装在192.168.0.103上,并且当我登录到192.168.0.103时,用于查看git是否存在(哪个git)的命令。
所以,很明显我做错了什么(也许在deploy.rb文件?)
这里的deploy.rb文件
default_run_options[:pty] = true
set :application, "myapp"
set :repository, "[email protected]:xxxxxxx/myapp.git"
set :user, "abcde" #username that's used to ssh into 192.168.0.103
set :scm, :git
set :scm_passphrase, "xxxxxxxx"
set :branch, "master"
set :deploy_via, :remote_cache
set :deploy_to, "/Users/abcde/www"
role :web, "192.168.0.103"
role :app, "192.168.0.103"
这里的消毒版本帽部署的输出:检查
* executing `deploy:check'
* executing "test -d /Users/abcde/www/releases"
servers: ["192.168.0.103"]
Password:
[192.168.0.103] executing command
command finished
* executing "test -w /Users/abcde/www"
servers: ["192.168.0.103"]
[192.168.0.103] executing command
command finished
* executing "test -w /Users/abcde/www/releases"
servers: ["192.168.0.103"]
[192.168.0.103] executing command
command finished
* executing "which git"
servers: ["192.168.0.103"]
[192.168.0.103] executing command
command finished
The following dependencies failed. Please check them and try again:
--> `git' could not be found in the path (192.168.0.103)
看来,git不在服务器部署的用户的路径中。你将哪个用户ssh服务器作为服务器部署的用户?我有道理吗?我有限的服务器知识,但这似乎是我的问题。此外,这将公平更好的serverfault.com。 – AndrewKS 2011-02-18 22:03:55
AndrewKs,谢谢你。我没有意识到serverfault.com存在,但我会发布任何未来的问题。原来,这不是一个用户/路径/权限问题(请参阅下面的我的“自我回答”)。 – user141146 2011-02-18 22:06:54