【问题标题】:Capistrano and deployment of a website from GithubCapistrano 和 Github 网站的部署
【发布时间】:2011-03-02 17:14:39
【问题描述】:

所以,我有一个我认为是相当简单的 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

每个stylesheetsjavascripts 目录都有另一个错误。

发生了什么事?我意识到 Capistrano 主要用于部署 Rails 和其他 Ruby 应用程序,但我使用的是capistrano-php gem。如有任何帮助,我将不胜感激。

【问题讨论】:

    标签: deployment capistrano web-deployment


    【解决方案1】:

    Capistrano 默认行为是“触摸”所有资产文件。 (以确保任何缓存都获得部署日期)。资产是图像、样式表等。

    如果您的 PHP 应用程序没有使用这些目录,capistrano 会以这种丑陋的方式抱怨。

    要禁用资产时间戳更新,只需添加:

    设置:normalize_asset_timestamps,假

    到你的 deploy.rb

    【讨论】:

    • 这也解决了我在 Rails 3.1 应用程序上遇到的错误。我认为资产管道不再需要这样做。
    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 2023-03-28
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    相关资源
    最近更新 更多