【问题标题】:Missing folder errors during capistrano deploycapistrano 部署期间缺少文件夹错误
【发布时间】:2012-02-27 16:56:33
【问题描述】:

我不确定我是否理解在尝试使用 capistrano 部署我的 rails 应用程序时收到的错误消息。由于缺少某些目录(更具体地说:图像、样式表和 javascript),部署失败,但我不确定为什么要在发布目录的公共目录中搜索这些目录。这些文件夹应该在我的应用程序目录的 assets 目录中,但是 capistrano 在发布文件夹的公共文件夹中搜索 /images、/stylesheets 和 /javascript?知道为什么吗?知道我做错了什么吗?任何帮助将不胜感激!终端输出如下。

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://git@server.example.ca/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://git@server.example.ca/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 'ruby-1.9.2-p290@project' -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://git@server.example.ca/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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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 'ruby-1.9.2-p290@project' -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'

【问题讨论】:

    标签: ruby-on-rails deployment capistrano


    【解决方案1】:

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

    【讨论】:

    • 太棒了。谢谢。这解决了大部分错误!你碰巧知道我应该如何解决符号链接错误吗? [弃用警告] 此 API 已更改,请挂钩 deploy:create_symlink 而不是 deploy:symlink
    • 我的部署文件对于 cmets 框来说似乎太长了,我又过了 7 个小时无法自行回答我的问题,所以我把它贴在这里:stackoverflow.com/questions/9469456/…
    猜你喜欢
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多