I am working on a Django project. And our team follows agile practices(TDD,very short launch times etc..)
When it comes to deployment stage of a feature, we follow manual procedures to get the code deployed on to our production machine. Manual procedures in the sense, run the testcases(of the entire project) manually and run the syncdb(or any latest db changes) manually and other stuff.
This manual stuff is taking about half and hour per day,everyday. So I wanted to automate this. So is there any automatic deployer or something that takes the commands I give and do what I want or it should be done only MANUALLY??(using a simple shell file which has got all my commands. In which case, I need to learn shell programming a bit because I dont want to uupdate my latest code in my production machine if any test case fails. So such a sort of conditions exist for deploying, which may involve a bit of shell programming. I guess!)