imns
imns

Reputation: 5082

Django Deployment Advice

I have a multi-step deployment system setup, where I develop locally, have a staging app with a copy of the production db, and then the production app. I use SVN for version control.

When deploying my production app I have been just moving the urls.py and settings.py files up a directory, deleting my django app directory with rm -rf command and then doing an svn export from the repository which creates a new django app directory with my updated code. I then move my urls.py and settings.py files back into place and everything works great.

My new problem is that I am now storing user uploads in a folder inside of my django app, so I can't just remove the whole app dir anymore or I would loose all of my users files.

What do you think my best approach is now? Would svn export --force work, since it should just be overwriting all of my changed files? Should I take an entirely new approach? I am open to advice?

Upvotes: 0

Views: 315

Answers (3)

Tomasz Wysocki
Tomasz Wysocki

Reputation: 11568

You can move your files to S3 servers (http://aws.amazon.com/s3/), so you will not ever have to care about moving them with your project.

Upvotes: 0

Dominik Szopa
Dominik Szopa

Reputation: 1929

Your could use rsync or something similar to backup your uploaded files and use this backup when you deploy your project.

For deployment you could try to use buildout:

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

For other deployment methods see this question:

Django deployment tools

Upvotes: 1

Srikanth Chundi
Srikanth Chundi

Reputation: 917

You may want to watch this presentation by Jacob. It can help you improve your deployment process.

I use Bitbucket as my repo and I can simply perform push on my Dev box and run pull/update on Stage/Prod box. Actually I don't run them manually, I use fabric to do them for me :).

Upvotes: 2

Related Questions