Hello, I am an administrator evaluating software for source code control. None of my developers use Visual Studio, we are a J2EE shop.
We'd like to test this out on some existing web applications, but I am new to source control software so I'm not sure where to start.
We have three environments: DEV, TEST, and PROD...which should contain the same files just on different servers. Can I set up a Vault repository for each webapp and each environment, and have the file changes committed to the actual location on the server? Everything I've read so far about repositories indicates that the files are stored somewhere on the Vault server (can't seem to figure out where though).
Ideally, we'd like our developers to each have Working Directories (configured on the Vault client) on their local machines. They would then CheckIn/CheckOut these files to the DEV repository for that webapp. That would then put the file where it belongs on the DEV server.
Once they've tested it initially in DEV, those changes could be propagated to the TEST environment, where it would get QA'ed. Finally they would push the changes to the PROD servers.
Newbie question about repositories & best practices
Moderator: SourceGear
Re: Newbie question about repositories & best practices
First off, I'd recommend the following links:bbohlen wrote:We'd like to test this out on some existing web applications, but I am new to source control software so I'm not sure where to start.
- http://support.sourcegear.com/viewtopic.php?t=35
- http://support.sourcegear.com/viewtopic.php?t=562
- http://support.sourcegear.com/viewtopic.php?t=162
- http://support.sourcegear.com/viewtopic.php?t=131
- http://support.sourcegear.com/viewtopic.php?t=6
- http://support.sourcegear.com/viewtopic.php?t=927
Vault is a Version Control System. As changes are committed to your sources, the Vault server interprets the changes and stores things within the SQL Server database. The only time actual files exist on disk is when a user issues a "GET" command or you configure the Vault server to "shadow" the source tree's folders to disk (Shadow Folders).bbohlen wrote:We have three environments: DEV, TEST, and PROD...which should contain the same files just on different servers. Can I set up a Vault repository for each webapp and each environment, and have the file changes committed to the actual location on the server? Everything I've read so far about repositories indicates that the files are stored somewhere on the Vault server (can't seem to figure out where though).
I'm not all that familiar with the J2EE world. My last experience was with Tomcat about four years ago. I believe that environment required a build of our JSP pages. Is that still the case, and does that apply to your case?bbohlen wrote:Ideally, we'd like our developers to each have Working Directories (configured on the Vault client) on their local machines. They would then CheckIn/CheckOut these files to the DEV repository for that webapp. That would then put the file where it belongs on the DEV server.
If so, I would recommend at creating a "common build script". This script would do a GET of the latest, build and copy the compiled byte code to a known destination for DEV. I don't believe ant contains native Vault commands. Does it support Command Line execution? If so, you may use the Vault Command Line Client to retrieve files.
If a build is not required, you could alternatively configure shadow folders to push the files directly to the web server.
Again, you can do this from a Push standpoint using Shadow Folders, or a Pull with a script and the Command Line Client.bbohlen wrote:Once they've tested it initially in DEV, those changes could be propagated to the TEST environment, where it would get QA'ed. Finally they would push the changes to the PROD servers.
HTH
Jeff Clausius
SourceGear
SourceGear