The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Source control and deployment

We are developing  a product,and using subversion as source control.The issue is this--our deployment structure is different from structure of projects under source control.So,to test we have to copy on development machine,to a folder structure similar to deployment structure.I wonder if we could tackle this issue in some better way?
anand
Saturday, May 26, 2007
 
 
Have you considered just writing an installer?

Failing that, an MSBuild, NAnt, or batch file could automate the copying and rearranging.

Your source control tree should be laid out for convenience of the developers. Setting up deployment environments are what install scripts/programs are for.
Chris Tavares Send private email
Saturday, May 26, 2007
 
 
In a code share/reuse environment this is the norm. The subversion structure is full of categorized "components" whilst your on-disk build is a completely different (project orientated) structure.

We use custom files which document the on-disk structure for each project. An automated build system (python scripts) checks out the multitude of components for a project and translate them into the developer's on-disk requirements. There's a default layout, but the developer can manually override that with his own configuration.

Subversion has some built in support for creating virtual projects (see the external property) but at this stage its very weak.
Coopsnakes Send private email
Saturday, May 26, 2007
 
 
> Have you considered just writing an installer?

This the way to do it. Deployment needs to bring together resources from a lot of different areas and then create something on the target system. There's really no way your source tree can match deployment.
son of parnas
Saturday, May 26, 2007
 
 
We do hav an installer.The thing is,say I modified a file,and want to test new code.Now,i copy that file to deployment directory on my machine.How can i tackle this scenario?
anand
Saturday, May 26, 2007
 
 
Maybe this is a good time to set up and automated build and test process.

Use NAnt or a similar tool to build an automated process that pulls the appropriate resources out of source control, puts them in the right place, increments a build number, builds the project, runs all of your automated test, emails a copy of the results to the development team, and builds a new install package.
JSmith Send private email
Saturday, May 26, 2007
 
 
This is kind of a problem that Buckminster was created to solve. I haven't used it much but I've had to research it for my final project at the uni. Buckminster is an Eclipse project/plugin, but it can be used without eclipse.

 http://www.eclipse.org/buckminster/
TM Send private email
Saturday, May 26, 2007
 
 
> How can i tackle this scenario?

Your build you product install packages. So you make a change. Build. Install. Test.
son of parnas
Sunday, May 27, 2007
 
 
Installer can be a part of same source tree you use to build the whole thing - this way daily (or nightly) build will make an appropriate installer package.
asmguru62 Send private email
Sunday, May 27, 2007
 
 
>> Now,i copy that file to deployment directory on my machine. <<

Batch file.
xampl Send private email
Sunday, May 27, 2007
 
 
> Now,i copy that file to deployment directory on my
> machine.

Don't.

> How can i tackle this scenario?

If the QA is not done using the installer/binaries produced by the build process then you are not doing QA.

IMHO for QA to work it needs minimal human input.
Jussi Jumppanen
Monday, May 28, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz