我有一個非常簡單的任務稱爲update_feeds:如何使用Capistrano在服務器上執行命令?
desc "Update feeds"
task :update_feeds do
run "cd #{release_path}"
run "script/console production"
run "FeedEntry.update_all"
end
每當我試着運行這個任務,我得到以下信息:
[out :: mysite.com] sh: script/console: No such file or directory
我想這是因爲我在正確的目錄是不,但試圖
run "cd ~/user/mysite.com/current"
代替
run "cd #{release_path}"
也失敗。手動運行完全相同的命令(通過ssh)完美地工作。 爲什麼不能正確地將capistrano cd
(更改目錄)放到站點目錄下來運行命令?
謝謝!
更新:選擇了一個答案,非常感謝你對所有誰回答。 最好的答案實際上可能是one on server fault,儘管兩者的要點(服務器故障和堆棧溢出故障)都是相同的。