0

我正在做几件共享的.NET程序集和一个通用的Web应用程序,我想在我们的CC.NET/NAnt构建环境。用cruisecontrol.net + nant进行.NET自动化构建+多个汇编结构/最佳实践

当前,我们有几个.NET程序集(我们在客户端项目中使用的共享通用代码)存在于我们的SCM(顺便说一下,Vault)不同存储库内的不同.N​​ET解决方案中。它们都是在CC.NET下单独配置的,所以我们对目前的构建和部署有相当大的控制权。

我们开发了一个CMS系统,它使用了一些.NET程序集,并包含一个通用管理网站项目和一个模板网站示例项目。出于这种一个解决方案,我们有需要以下因素,单独管理:所以它是基于模板

  • 管理接口是不依赖于.NET和我们正在开发一个PHP后端它。
  • CMS共享程序集建立在我们其他常用公司范围程序集之上。
  • 控制每个主要CMS构建/版本中的功能。

我希望此解决方案的构建输出为Visual Studio模板,我们可以使用它开发其他客户端网站并更好地管理CMS本身内的版本更改,因为我们将代码添加到代码库中。

对于所有这些我都有一个粗略的方法,并且认为它是可以实现的,但是,我想打开此主题进行讨论,看看其他人在管理多个解决方案的构建和部署时正在做什么。

我们主要考虑是:

  • 难道我们利用在CC.NET集成队列功能,以确保构建顺序,并在构建时拉我们所需要的组件,共同为CMS?
  • 在CMS客户端站点中进行调试,即当客户端解决方案是基础CMS系统的一个版本并因此分离时,跨入共享程序集的代码。
  • 当它使用共享程序集时,开发和扩展CMS,即,我们是在开发过程中(跨源代码控制库)将汇编项目添加到中继解决方案中,然后依靠构建将它们拉到一起,或者我们完全使用不同的方法?
  • 人们可能经历过的任何其他问题可能会改变我们的思维方式吗?

希望这个问题不是太模糊,你们中的一些人会处理这些问题。期待听到每个人的经验。

非常感谢! 添

回答

1

可惜我不能回答你所有的点,但让我开始这一个:

  • 难道我们利用在CC.NET集成队列功能 保证构建顺序并将 组装起来,我们需要为CMS构建 构建时间?

简短的回答是,你应该。队列属性确保CC.NET正在运行的实例中的构建顺序,并为您提供了依赖于对方的构建的序列化。要指定哪些项目相互依赖,应该使用project triggers。做不是依赖于此任务的queuePriority。

你最有可能在构建时拉出你需要做的构件。除非你在个人版本上有一些时间限制。

回复:

  • 发展,当它使用的共享组件,即做我们的发展过程中添加该组件项目,以主干溶液(跨源控制库),然后依靠构建以延长CMS把它拉到一起还是我们完全使用不同的方法?

我根本对分布于躯干可执行文件,除非它的一些并不需要更新/变更频繁地库。如果您自己构建共享程序集,则应考虑将它们从构建服务器上的构件中拉出来。

+0

感谢您的意见Steen – 2009-02-01 12:12:49