我们目前正在使用CruiseControl.NET和NANT来运行我们的构建过程。它工作得很好,但是,我希望能够为每个构建运行的任务更精细,而无需为项目创建更多构建。
例如,作为一个简单示例,如果我有一个创建构建,我想执行以下任务: - 建立 - 套餐 - 部署到QA - 构建发行说明 - 向内部系统发送通知
每次进行创建构建时,我不一定要部署到QA。另外,当我刚刚进行QA构建时,我不想构建发行说明并发送通知。我可以创建更多的构建(创建,创建QA,创建发布),但是我想看看是否有一个构建系统允许我在每次执行时从任务列表中选择建立。
那里有类似的东西,或者我可以让CC.NET像这样工作吗?
答案 0 :(得分:3)
查看Dynamic parameters的CC.NET 1.5+。
您可以为用户提供选择,然后将值传递给您的nant脚本。我认为CCtray也支持参数,因此可以触发您直接从桌面构建并传递一些值。
答案 1 :(得分:0)
查看Go Release管理系统 - http://www.thoughtworks-studios.com/go-agile-release-management。
Go™提供功能强大且独特的发布工作流管理系统 - 部署管道 - 提供对每个变更状态的可视性,并在从构建到测试再到发布时控制变更流。
答案 2 :(得分:0)
我们有一个主要的nant构建文件,在ccnet中,我们使用要执行的任务列表来调用此文件。这个ccnet项目重复了几次,我们调用不同的任务,让所有任务在同一个工作文件夹中运行。我们使用queue =“ProjectX”来确保这些项目中的任何一个都不会同时运行,而且效果非常好。