我正在处理几个共享的 .NET 程序集和一个通用 Web 应用程序,我希望在我们的 CC.NET/NAnt 构建环境中更好地处理它们。
目前,我们有几个 .NET 程序集(我们在客户端项目中使用的共享公共代码),它们存在于我们 SCM 的不同存储库中的不同 .NET 解决方案中(顺便说一下 Vault)。它们都在 CC.NET 下单独配置,因此我们目前对它们的构建和部署有相当大的控制权。
我们开发了一个 CMS 系统,该系统使用一些 .NET 程序集,包括一个公共管理网站项目和一个模板网站示例项目。在这个解决方案中,我们有以下需要单独管理的元素:
- 管理界面与 .NET 无关,因此它是基于模板的,我们目前正在为其开发 PHP 后端。
- CMS 共享程序集建立在我们其他常见的公司范围程序集之上。
- 控制每个主要 CMS 构建/发布中的功能。
我希望这个解决方案的构建输出成为一个 Visual Studio 模板,当我们向代码库添加功能时,我们可以使用它来开发其他客户端站点并更好地管理 CMS 本身内的版本更改。
对于这一切,我有一个粗略的方法,并且认为它是可以实现的,但是,我想打开这个话题进行讨论,看看其他人在管理多个解决方案的构建和部署时都在做什么。
我们的主要考虑因素是:
- 我们是否利用 CC.NET 中的集成队列功能来确保构建顺序并在构建时将 CMS 所需的程序集组合在一起?
- 在 CMS 客户端站点内进行调试,即当客户端解决方案是基本 CMS 系统的一个版本并因此是独立的时,单步执行共享程序集的代码。
- 在使用共享程序集时开发和扩展 CMS,即我们是否在开发期间(跨源代码控制存储库)将程序集项目添加到主干解决方案,然后依赖构建将其拉到一起,还是我们完全使用不同的方法?
- 人们可能遇到的任何其他问题可能会改变我们的思维方式?
希望这个问题不是太含糊,你们中的一些人会处理这些问题。期待听听大家的经验。
非常感谢!蒂姆