Question

We are a very small team responsible for development of a intranet web system for a non-software company. We are kind of a RAD team: when an issue is closed (be it a new feature, bugfix or some kind of configuration) it is immediately pushed to production and goes live.

The problem is: the process are completely manual and error prone. It consists in manually copying all new/updated files one by one to the production server. We often need to run SQL queries or clear application cache depending the kind of update.

Features or bugfixes are updated two or three times a day, maybe more depending on demand. Of course this is causing a lot of problems.

It has to have an easier, more professional way. One solution I could think of is updating the entire application, but currently it's not possible since our trunk isn't stable and has a lot of commits not ready for production (ok, I know it's our fault) :)

So how can we automate and improve the process? We're open to any tool, preferably free or not too much expensive.

More info on our application and tools: - PHP MVC (Zend Framework) - Ubuntu - SVN (moving to Git) - Redmine (moving to private Github)

Was it helpful?

Solution

For your case, tools will only go so far. I suspect you need to have some PHP unit tests, some UI smoke and acceptance tests, maybe some performance tests and then have a tool run all of these for each patch that you want to apply to production. Then you also need automated deployment scripts and maybe a staging environment to test these scripts. This is the general area of continuous delivery and there is a whole book on this topic. http://martinfowler.com/delivery.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top