2013-05-07 4 views
5

나는 개발 중에 모든 업로드 된 이미지를 저장하는 미디어 폴더를 가지고 있으며, 장고 (1.5.1) 프로젝트를 heroku의 dev 서버로 푸시합니다. 미디어 폴더 안에 내가git push에서 Heroku 파일을 삭제 하시겠습니까?

media/ 
    # cache and images were commited before .gitignored was added 
    cache/ # store thumbnails 
    images/ # store images 
    .gitignore 

이있는 .gitignore이 문제는 내가 Heroku가에 밀어 이눔 때마다, 내 모든 테스트 업로드가 자식에 의해 전멸이다

* 
!.gitignore 

있습니다. 이 문제를 해결할 방법이 있습니까?

답변

9

이것은 힘내에서 문제가 아니라 오히려 헤로큐와 관련이 있습니다. Heroku의 file system은 일시적이며 배포 사이에 다시 설정됩니다. Amazon S3와 같은 서비스를 사용하여 업로드 된 파일을 저장하십시오.

+0

이것이 내 문제를 해결할 수 있는지 확실하지 않습니다. 나는 heroku의 새 파일을 지우지 않기를 바란다. git 미디어 폴더에 무엇이 있는지 신경 쓰지 않습니다. – Derek

+0

@Derek : Heroku는 임시 파일 시스템을 가지고 있습니다 (임시 파일은 배포 사이에 삭제됩니다). 영구 파일 저장을 위해 S3과 같은 것을 사용하십시오. – mipadi

+2

@Derek mipadi가 옳습니다. Heroku가 어떻게 배포하는지 설명하겠습니다. 그들은 새로운 디렉토리를 만들고, 새로운 디렉토리에 git을 가져온다. (그리고 나서 당신의 새로운 버전이 될 것이다.) 그리고 나서 세계를 마주 칠 준비가되면 (모든 작업은 어플리케이션을 설정한다.), 작업 디렉토리를 바꿀 것이다. 새 릴리스 디렉토리에 대한 심볼릭 링크. 이것은 배치가 올바르게 동작해야하는 올바른 방법입니다. 그러나 이는 이전 버전에 업로드되고 저장된 모든 파일은 새 버전에서 사용할 수 없음을 의미합니다. Amazon S3를 사용하여 업로드 된 파일을 저장하고 DB에서 추적하십시오. – JoshEmory

관련 문제