Matt
Matt

Reputation: 4686

Selectively perform build tasks in a build process

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

Answers (3)

Ramon Smits
Ramon Smits

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

Yauheni Sivukha
Yauheni Sivukha

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.

Go Build Pipeline

Upvotes: 0

marto
marto

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

Related Questions