2012-02-27 36 views
12

我不确定我是否理解我在尝试部署与capistrano的导轨应用时遇到的错误消息。由于缺少一些目录(更具体地说:图像,样式表和JavaScript),部署失败,但我不确定为什么要在发布目录的公共目录中搜索这些目录。这些文件夹应该位于我的应用程序目录的资产目录中,但capistrano正在为/ images,/ stylesheets和/ javascript搜索release文件夹的公用文件夹?任何想法为什么?任何想法我做错了什么?任何帮助将不胜感激!终端输出如下。在capistrano部署期间丢失文件夹错误

user-MacBook-Pro:projectfolder myuser$ cap deploy 
    * executing `deploy' 
    * executing `deploy:update' 
** transaction: start 
    * executing `deploy:update_code' 
    updating the cached checkout on all servers 
    executing locally: "git ls-remote ssh://[email protected]/usr/local/git_root/project.git master" 
    command finished in 1700ms 
    * executing "if [ -d /usr/local/www/sites/project.example.ca/public/shared/cached-copy ]; then cd /usr/local/www/sites/project.example.ca/public/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 9d2c784bafe0f8bd15f831f2ec722b215191e6fa && git clean -q -d -x -f; else git clone -q ssh://[email protected]/usr/local/git_root/project.git /usr/local/www/sites/project.example.ca/public/shared/cached-copy && cd /usr/local/www/sites/project.example.ca/public/shared/cached-copy && git checkout -q -b deploy 9d2c784bafe0f8bd15f831f2ec722b215191e6fa; fi" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'if [ -d /usr/local/www/sites/project.example.ca/public/shared/cached-copy ]; then cd /usr/local/www/sites/project.example.ca/public/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 9d2c784bafe0f8bd15f831f2ec722b215191e6fa && git clean -q -d -x -f; else git clone -q ssh://[email protected]/usr/local/git_root/project.git /usr/local/www/sites/project.example.ca/public/shared/cached-copy && cd /usr/local/www/sites/project.example.ca/public/shared/cached-copy && git checkout -q -b deploy 9d2c784bafe0f8bd15f831f2ec722b215191e6fa; fi' 
    command finished in 1344ms 
    copying the cached version to /usr/local/www/sites/project.example.ca/public/releases/20120225025005 
    * executing "cp -RPp /usr/local/www/sites/project.example.ca/public/shared/cached-copy /usr/local/www/sites/project.example.ca/public/releases/20120225025005 && (echo 9d2c784bafe0f8bd15f831f2ec722b215191e6fa > /usr/local/www/sites/project.example.ca/public/releases/20120225025005/REVISION)" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'cp -RPp /usr/local/www/sites/project.example.ca/public/shared/cached-copy /usr/local/www/sites/project.example.ca/public/releases/20120225025005 && (echo 9d2c784bafe0f8bd15f831f2ec722b215191e6fa > /usr/local/www/sites/project.example.ca/public/releases/20120225025005/REVISION)' 
    command finished in 945ms 
    * executing `deploy:finalize_update' 
    * executing "chmod -R g+w /usr/local/www/sites/project.example.ca/public/releases/20120225025005" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'chmod -R g+w /usr/local/www/sites/project.example.ca/public/releases/20120225025005' 
    command finished in 921ms 
    * executing "rm -rf /usr/local/www/sites/project.example.ca/public/releases/20120225025005/log /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/system /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp/pids &&\\\n  mkdir -p /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public &&\\\n  mkdir -p /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'rm -rf /usr/local/www/sites/project.example.ca/public/releases/20120225025005/log /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/system /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp/pids &&\ 
    [project.example.ca] mkdir -p /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public &&\ 
    [project.example.ca] mkdir -p /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp' 
    command finished in 920ms 
    * executing "ln -s /usr/local/www/sites/project.example.ca/public/shared/system /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/system" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'ln -s /usr/local/www/sites/project.example.ca/public/shared/system /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/system' 
    command finished in 922ms 
    * executing "ln -s /usr/local/www/sites/project.example.ca/public/shared/log /usr/local/www/sites/project.example.ca/public/releases/20120225025005/log" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'ln -s /usr/local/www/sites/project.example.ca/public/shared/log /usr/local/www/sites/project.example.ca/public/releases/20120225025005/log' 
    command finished in 920ms 
    * executing "ln -s /usr/local/www/sites/project.example.ca/public/shared/pids /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp/pids" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'ln -s /usr/local/www/sites/project.example.ca/public/shared/pids /usr/local/www/sites/project.example.ca/public/releases/20120225025005/tmp/pids' 
    command finished in 922ms 
    * executing "find /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/images /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/stylesheets /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/javascripts -exec touch -t 201202250250.11 {} ';'; true" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] env TZ=UTC rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'find /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/images /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/stylesheets /usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/javascripts -exec touch -t 201202250250.11 {} '\'';'\''; true' 
*** [err :: project.example.ca] find: 
*** [err :: project.example.ca] `/usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/images' 
*** [err :: project.example.ca] : No such file or directory 
*** [err :: project.example.ca] 
*** [err :: project.example.ca] find: 
*** [err :: project.example.ca] `/usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/stylesheets' 
*** [err :: project.example.ca] : No such file or directory 
*** [err :: project.example.ca] 
*** [err :: project.example.ca] find: 
*** [err :: project.example.ca] `/usr/local/www/sites/project.example.ca/public/releases/20120225025005/public/javascripts' 
*** [err :: project.example.ca] : No such file or directory 
*** [err :: project.example.ca] 
    command finished in 1027ms 
    * executing `deploy:create_symlink' 
    * executing `deploy:symlink' 
[Deprecation Warning] This API has changed, please hook `deploy:create_symlink` instead of `deploy:symlink`. 
    * executing "rm -f /usr/local/www/sites/project.example.ca/public/current && ln -s /usr/local/www/sites/project.example.ca/public/releases/20120225025005 /usr/local/www/sites/project.example.ca/public/current" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'rm -f /usr/local/www/sites/project.example.ca/public/current && ln -s /usr/local/www/sites/project.example.ca/public/releases/20120225025005 /usr/local/www/sites/project.example.ca/public/current' 
    command finished in 814ms 
** transaction: commit 
    * executing `deploy:restart' 

回答

31

set :normalize_asset_timestamps, false添加到您的部署文件。默认情况下,它被设置为true,它会在所有图像/ javascripts /样式表上运行触摸命令,但如果您使用资产管道,则不再需要它。

+0

太棒了。谢谢。这解决了大部分错误!你碰巧知道我应该如何去解决符号链接错误? [弃用警告]此API已更改,请钩住'deploy:create_symlink'而不是'deploy:symlink'。 – 2012-02-27 17:08:59

+0

发布您的部署文件。 – James 2012-02-27 17:43:48

+0

我的部署文件似乎太长的评论框,我不能自己回答我的问题另外7个小时,所以我发布它在这里:http://stackoverflow.com/questions/9469456/symlink-error-在护栏 - 应用 - 部署 - 与-Capistrano酒店 – 2012-02-27 17:54:43