Recently, I was given the role of a management or development environment, which includes:
- Managing a version control system (subversion), in which we usually have one large branch, which is released every 6 months, a service branch, which is released every 2 months to fix errors that are not related to the main users, and a couple of branches related with bugs that just can't wait for a service release.
- Manage our databases to have a development database for each code branch
We have not switched to using a version control system for a long time and had the following problems:
- Developers who work in several branches at the same time can often develop against the wrong database (we have about 15 developers).
- Lack of a decent strategy for managing the release of branches into production and distribution back to other industries.
- Lack of a decent database management strategy associated with each branch (i.e. we must maintain a script that is aligned with the production environment, and then a script to bring each database user in line with the needs of the branch)
I was thinking of using a virtual machine for each code branch (that is, a virtual machine containing an Oracle Express database user, a Coldfusion administrator with the right settings for things like data sources, and development tools like IDE and Tortoise),
I was looking for any suggestions that could help someone solve any of these problems, since it is very difficult for me to manage the process. I understand that no company has the same setup, but I would welcome any help.
Jlove source share