Capistrano的和从GitHub网站的部署
-
26-09-2019 - |
题
所以,我只好我认为是一个相当简单的Capistrano的使用案例:我要部署从GitHub一个PHP的网站。但是我遇到了很多问题。当运行cap deploy
,Capistrano的是能够克隆的GitHub库(在步骤deploy:update_code
),但是然后在deploy:finalize_update
步骤它说
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"
接着
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"
我真的不明白是怎么回事。然后,它给出了一个错误:
*** [err :: sitename.com] find: `/var/www/sitename.com/releases/20100611144519/public/images': No such file or directory
和其他错误的每个stylesheets
和javascripts
目录。
这是怎么回事?我知道Capistrano的主要是用于部署Rails和其他Ruby应用程序,但我使用的 Capistrano的-PHP 一>宝石。我会很感激的任何帮助。
解决方案
Capistrano的默认行为是“触摸”所有资产的文件。 (要确保任何缓存得到部署日期)。资产是图像,样式表,等等。
如果您的PHP应用程序没有使用这些目录,Capistrano的抱怨在这样一个丑陋的方式。
要禁用资产时间戳更新,只需添加:
set :normalize_asset_timestamps, false
到您deploy.rb
不隶属于 StackOverflow