문제

사용자가 파일을 업로드 할 수있는 사이트 (Browsercms) 내에서 CMS를 실행하는 순간에 문제가 있습니다. 그러나 배포 할 때마다 capistrano는 하드 리셋을 실행하여 업로드 된 파일을 핵무기시킵니다.

누구나 하드 리셋을 방지하는 방법에 대한 제안이 있습니까? 애플리케이션 코드를 변경하지 않고도 업로드 된 파일을 다른 곳에 이동하는 방법 만 수행하는 사람이 있습니까?

도움이 되었습니까?

해결책

이것은 올바른 접근법이 아닐 수도 있습니다.

.gitignore에 '이미지'폴더를 포함시키고 $ current_release/images 폴더를 $ shared/images로 Symlink해야합니다.

deploy.rb를 넣으면 모든 배포에서 자동으로 수행 될 수 있습니다.

task :link_imgs do     
  run "ln -s #{shared_path}/photos #{release_path}/photos" 
end    

after "deploy:update_code", :link_imgs

나는 내 CMS와 똑같이했고 그것은 매력처럼 작동합니다.

다른 팁

이것은 "애플리케이션 코드를 변경할 필요없이"의 기준을 충족시키지 못합니다.

그러나 비슷한 문제가 발생한 후 업로드 된 이미지를 /public/images 에게 /public/system/images 그만큼 /public/system 디렉토리는 각 Capistrano 배포에 의해 '버전'되지 않으므로 이미지가 살아남습니다.

문제를 일으키는 Capistrano '버전싱'일 수 있습니까? (git 리셋 대신)?

캡 배포 전화 배포 : 업데이트 그리고 배포 : 다시 시작합니다

배포 : 업데이트 버전을 만들고 복사합니다

배포 : 다시 시작합니다 진정한 재시작을 수행하고, 보통 귀하의 편의에서 과부하 config/deploy.rb 파일

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top