I take care of the internal web system (Java, JSP, Mediasurface, etc.), which is constantly used (24/5).
Users collect tickets for improvements, bug fixes, and other business changes. These questions are individually signed and assigned to one of three or four developers.
As soon as the problem is completed, it will be built and the code will be transmitted only SVN. Modified files (templates, html, classes, jsp) are then copied to the dev server and transferred to another repository, from where they are checked to the UAT server for testing. (this often requires a restart of the Tomcat service, and sometimes the Mediasurface service).
Users then review and reject or approve the release. If approved, the edited files will be uploaded to the Live server in the same process as when executing the UAT.
If rejected, the developer has made the appropriate changes and will restart the release process.
All this is done manually without much control. When different developers work on such files, the changes are sometimes overwritten by assemblies made due to the synchronization code, in other cases, changes to the UAT are transferred in real time with an error, because they are mixed in the files associated with the release with the signature.
I would like to move this to a more controlled and automatic process, where all source code and output files are stored in SVN and released in Dev, UAT and Live, managed by the CI system (we have TeamCity in the house for our .NET application).
, , , . , .
SVN CI, .