views:

127

answers:

4

For me a multistage environment contains environments for development, testing, quality assurance, maybe a client review stage and finally production. It should allow easy collaboration between developers, project status tracking and easy deployment of the application to any stage for a specific version.

You can propose specific tools for specific application types but I think the question is general enough. Is there any software package ready to use out of the box?

A: 

For a larger enterprise with multiple software systems being developed/released concurrently, I think you will probably need a few different tools to manage all of this.

In a Microsoft environment, TFS provides collaborative development, source control, and dev task management (including bug tracking and resolution, with a little customization) as well as CI/automated build. But it doesn't really do much for you after the build is complete, you have to set up your own QA tooling and deployment tools/protocols.

Guy Starbuck
A: 

There is a tool called Capistrano. This is written in Ruby and allows you to do the things you have described. Apache Maven may also provide this functionality but I havent used it.

BrianLy
A: 

You can use anything that works.

Even CVS ( and I speak from experience there)

You just need to bolt on some SCM like SCMBug and you're good to go.

SCMBug works with a number of VCS solutions.

Tim Williscroft
+3  A: 

We use CruiseControl.NET to automatically push source control checkins out to a dev server. This allows people to regression test their changes in real time.

We then use a series of scripts to robocopy the build to other environments.

For Example:

  • Developer completes a change and checks into source control
  • CruiseControl detects the change and builds the new code and drops into Dev.
  • Developer is able to test the change in a enviroment that mirrors production.
  • This repeats until all changes are done and tested.
  • A script is ran that copies Dev to Test.
  • Dev is now frozen while business owners UAT on the Test enviroment. If a defect is found, it is fixed in dev and then promoted back to Test.
  • Once UAT passes, a script is ran that copies the build to the final production farm.
  • At this point, developers are free to push code back to Dev for the next round of work.
FlySwat