我正在使用: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