2013-05-07 6 views
5

開発中にアップロードしたすべてのイメージを保存するメディアフォルダがあり、私はherokuのdevサーバーにdjango(1.5.1)プロジェクトをプッシュしています。メディアフォルダの中に、私はgit pushでファイルを削除するHerokuですか?

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

を持って.gitignoreは、問題は、私はHerokuのにプッシュgitのたび、すべての私のテストアップロードはgitので一掃されている

* 
!.gitignore 

ています。これに対処する方法はありますか?

答えて

9

これはGitの問題ではなく、Herokuの問題です。 Herokuのfile systemは一過性であり、デプロイ間でリセットされます。 Amazon S3のようなサービスを使用して、アップロードされたファイルを保存します。

+0

これが私の問題に役立つかどうかはわかりません。私は英雄の新しいファイルを一掃したくありません。私はgit mediaフォルダに何があるのか​​気にしない。 – Derek

+0

@Derek:それらを拭き取っているわけではありません。Herokuは一時ファイルシステムを持っています(一時ファイルはデプロイ間で削除されます)。永続的なファイル保存にはS3のようなものを使用してください。 – mipadi

+2

@Derek mipadiが正しいです。私はHerokuがどのように彼らの配備を行っているのかを説明します。彼らは新しいディレクトリを作成し、gitからその新しいディレクトリ(これはあなたの新しいバージョンになります)を引っ張り、それから世界を直面する準備ができたら(すべての作業はアプリケーションの設定が完了しています)、作業ディレクトリ新しいリリースディレクトリへのシンボリックリンク。これは、デプロイメントが動作する正しい方法です。しかし、これは古いバージョンでアップロードされ保存されたファイルは、新しいバージョンでは使用できないことを意味します。 Amazon S3を使用してアップロードしたファイルを保存し、それらをDBに記録します。 – JoshEmory

関連する問題