Reputation: 4686
We're currently using CruiseControl.NET and NANT to run our build process. It works well, however, I'd like to be able to make the tasks that I run for each build more granular WITHOUT creating more builds for the project.
For example, as a simple example, if I have a create build where I'd like to perform the following tasks: - Build - Package - Deploy to QA - Build Release Notes - Send a notification to an internal system
I don't necessarily want to deploy to QA every time I do a create build. Also, I don't want to build release notes and send notifications when I'm just doing a QA build. I could just create more builds (Create, Create for QA, Create for Release), however I'd like to see if there's a build system out there that will allow me to pick and choose from a list of tasks every time I perform a build.
Is there anything like that out there, or can I make CC.NET work like this?
Upvotes: 1
Views: 268
Reputation: 2618
We have one master nant build file and in ccnet we call this file with a list of tasks to perform. This ccnet project is duplicated a couple of times where we call different tasks and let all tasks run in the same work folder. We use queue="ProjectX" to make sure any of these projects will never run similtaniously and this works pretty well.
Upvotes: 0
Reputation: 2596
Take a look at Go Release Management System - http://www.thoughtworks-studios.com/go-agile-release-management .
Go™ provides a powerful and unique release workflow management system - deployment pipelines - that provides visibility into the status of each change, and control over the flow of changes as they move from build to testing to release.
Upvotes: 0
Reputation: 4180
Have a look at Dynamic parameters for CC.NET 1.5+.
You can give the user a choice and then pass the value down to your nant script. I think CCtray supports parameters as well you so can trigger you build directly from your desktop and pass some value to it.
Upvotes: 3