使用CruiseControl.Net发布特定修订

时间:2013-02-14 16:13:40

标签: continuous-integration cruisecontrol.net publishing

我正在设置CruiseControl.Net服务器。到目前为止,它只构建了一个项目(.Net网站),并且我知道如何在将来设置单元测试,代码覆盖等。

我需要尽快做到的是:

  • 开发人员不断对SVN进行更改,因此CCNet经常构建。
  • 只要验证提交(使用单元测试等),CCNet就会将最新版本发布到开发服务器。
  • 项目经理验证特定版本,以便将其发布到预生产服务器,并从此版本创建SVN标记。

最后一点是我的问题所在:我如何设置项目,以便项目经理可以浏览到CCNet Web仪表板,选择以前的特定版本,并说“这是我要发布的版本”?

我相信我的想法在某处有缺陷,但我不能指责它。也许CCNet不适合做这些操作?

在我看来,我可以使用CCNet创建一个SVN标签,主要是从后备箱工作,但也许我不能?也许它是相反的,每次在SVN下创建标签时我都应该添加一个CCNet项目?

最终目标是我想自动化发布过程:zip创建(用于存档),web.config修改(例如使用Nant)和网站发布(使用FTP)。
在所有这些步骤中,我想将手动干预限制到最大。如果我每次在SVN中创建标签或分支时都可以避免向CCNet添加新项目,那就太棒了。

感谢您的帮助,对不起,如果它不是很容易阅读,但我脑子里也不是很清楚......

1 个答案:

答案 0 :(得分:0)

既然您可以创建任何任务,那么您应该能够实现目标,但遗憾的是,它不是开箱即用的。

由于您使用SVN,所有这一切实际上取决于修订。我想我会为你的第三个场景创建一个单独的项目,并添加一个parameter,其中PM将提供修订号。然后基于我在我自己的任务中标记来源等。

关于其他问题,我认为这是类似的。最近,对于Web项目,我们开始使用MSDeploy,并且在每个阶段构建时都创建了MSDeploy包。然后有一个名为Deploy的独立构建,强制允许我们选择使用MSDeploy部署哪个软件包。

然而,有几个环境开始有点像过度使用CCNet,我会在某个时候调查kwakee