2010-10-01 58 views
0

我有一個多步驟部署系統安裝程序,在本地開發的應用程序中有一個生產數據庫副本,然後是生產應用程序。我使用SVN進行版本控制。Django部署建議

當部署我的生產應用程序時,我只是將urls.py和settings.py文件移動到目錄中,使用rm -rf命令刪除我的django應用程序目錄,然後從存儲庫執行svn導出,從而創建新的django應用程序目錄與我更新的代碼。然後,我將urls.py和settings.py文件移回原位,並且一切正常。

我的新問題是,我現在將用戶上傳的內容存儲在我的django應用程序中,因此我不能只刪除整個應用程序目錄,否則我會丟失所有用戶文件。

您認爲我現在最好的方法是什麼? svn export --force會工作,因爲它應該只是覆蓋所有我更改的文件?我應該採取一種全新的方法嗎?我願意諮詢?

+0

爲什麼不能在項目目錄之外上傳目錄? – 2010-10-01 19:44:09

+0

當你這樣做時,Django不喜歡它。我知道這是可能的,但我已經用這種方式編寫了很多編碼。 – imns 2010-10-01 19:56:45

+0

有什麼問題? – 2010-10-02 04:48:11

回答

2

您可能想看Jacob的this presentation。它可以幫助您改進部署過程。

我使用Bitbucket作爲我的回購,我可以簡單地對我的Dev框執行推送並在Stage/Prod框上運行pull/update。其實我不會手動運行它們,我使用fabric來爲我做:)。

1

您可以使用rsync或類似的軟件來備份您上傳的文件,並在部署項目時使用此備份。

對於部署,你可以嘗試使用擴建:

http://www.buildout.org/ 
http://pypi.python.org/pypi/djangorecipe 
http://jacobian.org/writing/django-apps-with-buildout/ 

對於其他部署方法看這個問題:

Django deployment tools

0

您可以將文件移動到S3服務器(HTTP:// aws.amazon.com/s3/),所以你永遠不必關心移動他們與你的項目。