2010-06-11 174 views
11

所以,我有我認爲是一個相當簡單的Capistrano用例:我想從Github部署一個PHP站點。但是我遇到了很多問題。當我運行cap deploy,Capistrano的是能夠克隆GitHub庫(該deploy:update_code步驟),但隨後在deploy:finalize_update一步,它說,然後Capistrano和部署從Github的網站

executing "find /var/www/sitename.com/releases/20100611144519/public/images /var/www/sitename.com/releases/20100611144519/public/stylesheets /var/www/sitename.com/releases/20100611144519/public/javascripts -exec touch -t 201006111445.23 {} ';'; true" 

executing "rm -rf /var/www/sitename.com/releases/20100611144519/log /var/www/sitename.com/releases/20100611144519/public/system /var/www/sitename.com/releases/20100611144519/tmp/pids &&\\\n  mkdir -p /var/www/sitename.com/releases/20100611144519/public &&\\\n  mkdir -p /var/www/sitename.com/releases/20100611144519/tmp &&\\\n  ln -s /var/www/sitename.com/shared/log /var/www/sitename.com/releases/20100611144519/log &&\\\n  ln -s /var/www/sitename.com/shared/system /var/www/sitename.com/releases/20100611144519/public/system &&\\\n  ln -s /var/www/sitename.com/shared/pids /var/www/sitename.com/releases/20100611144519/tmp/pids" 

我真的不明白是什麼去這裏。然後,它給出了一個錯誤:

*** [err :: sitename.com] find: `/var/www/sitename.com/releases/20100611144519/public/images': No such file or directory 

和其他錯誤每個stylesheetsjavascripts目錄。

發生了什麼事?我意識到Capistrano主要用於部署Rails和其他Ruby應用程序,但我使用的是capistrano-php寶石。我會很感激任何幫助。

回答

37

Capistrano的默認行爲是「觸摸」所有資產文件。 (爲了確保任何緩存獲得部署日期)。資產是圖片,樣式表等。

如果您的PHP應用程序沒有使用這些目錄,capistrano會以這種醜陋的方式抱怨。

要禁用資產時間戳更新,只需添加:

 
set :normalize_asset_timestamps, false 

您deploy.rb

+0

這也解決了我正在上一個Rails 3.1的應用程序中的錯誤。我認爲資產管道不再需要它。 – 2011-12-03 16:35:43