What tools and procedures would you recommend or use yourself to help organize the following sceanario: (I know it is long, but any help is appreciated)
I work in a team that has an e-commerce application that we develop in our company. This is the standard standard LAMP application that we have been developing for 3 years. We are developing an application in a test domain, here we add new features and fix bugs, etc. Our bug tracking and feature development are managed as part of the hosted subversion solution (unuddle.com). As bugs are reported, we make these corrections in the test domain and then commit the changes to svn when we are happy that the error has been fixed. We follow the same procedure with the addition of new features.
It is worth noting the overall architecture of our system and applications on our servers. Every time a new feature is developed, we transfer this update to all sites using our application (always the server we manage). Each site using our system essentially uses exactly the same files for 95% of the code base. We have a couple of folders on each site that contain files made on this site - css files / images. In addition, the differences between each site are determined by different configuration settings in each site database.
This applies to the actual deployment itself. When and when we are ready to release any update, we run the command on the server on which the testing site is located. This executes the copy command (cp -fru / testsite // othersite /) and goes through every vhost force, updating the files based on the changed date. Each additional server that we host has a vhost with which we rsync the production code base, and then we repeat the copying procedure on all sites of this server. During this process, we move files that we do not want to overwrite, and return them when the copy is complete. Our script deployment performs a number of other functions, such as applying SQL commands to modify each database, add fields / new tables, etc.
, , . , , , , . , . , . diff , , , , , . , dbdeploy . , , , . , , rollout/rollback svn. - export, , . , .
, , .
...
svn?
? symlinks/something else?
, ?
rollouts/rollbacks?
.