2012-02-27 2 views
12

capistrano를 사용하여 레일 응용 프로그램을 배포하려고 할 때 나타나는 오류 메시지를 잘 모르겠습니다. 일부 누락 된 디렉토리 (구체적으로는 이미지, 스타일 시트 및 자바 스크립트)로 인해 배포가 실패하지만 이러한 디렉토리가 릴리스 디렉토리의 공개 디렉토리에서 검색되는 이유를 모르겠습니다. 이 폴더는 내 app 디렉토리의 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://[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로 설정되어 있으며 모든 이미지/자바 스크립트/스타일 시트에서 touch 명령을 실행하지만 애셋 파이프 라인을 사용하는 경우 더 이상 필요하지 않습니다.

+0

굉장합니다. 감사. 그 대부분의 오류를 해결! symlink 오류를 해결하는 방법에 대해 알고 싶습니까? [Deprecation Warning]이 API가 변경되었습니다.'deploy : symlink' 대신'deploy : create_symlink'를 후크하십시오. –

+0

배포 파일을 게시하십시오. – James

+0

내 배포 파일이 댓글 상자에 비해 너무 길어서 7 시간 동안 내 질문에 스스로 대답 할 수 없으므로 여기에 게시했습니다. http://stackoverflow.com/questions/9469456/symlink-error- during-rails-app-deploy-with-capistrano –

관련 문제