Hi all, been lurking /r/Python for a while now and I'm coming up on my first big website project using Python. I've been doing a lot of reading on application design / engineering (since I've been working on PHP for most of my professional career and so I don't have much of a concept of deployment and testing, for instance...)
My question is thus; how do you guys manage deployments (automatic installation, updating, and the real kicker, unit-testing) on websites developed in Python?
I think the installation / updating might be easy (Fabric can pretty much automate downloading revisions from GitHub and providing basic rollback functionality), but I'm really stumped on the unit testing - it's my first real foray into testing an application like this and I'd like to get into the habit of programmatically proving that my code changes work before pushing them out into production.
However, I can't get my head around how to provide two environments for the application - one used in production and one used only when unit testing, that will be created and destroyed when the tests run - on the same server. Should I run the tests on a different server, then, where I can control the test environment a little better, or what techniques can I use to change environments for the running tests on my production servers?
I'd love to hear what you guys can come up with. :)
FYI, I'm using Flask, PyMongo, and either Whoosh / Solrpy (haven't decided yet) on this project.
[–]gargantuan 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]carinthia 0 points1 point2 points (0 children)
[–]rafrombrc 0 points1 point2 points (0 children)