存储库、执行构建和部署实例有很多不同的方法。他们中的许多人是对的。根据我的实践,您使用什么技术,使用什么工具进行构建和部署并不重要。因此,提出影响这些过程的问题很重要:
-
防止解决方案/项目的混乱,这些解决方案/项目可以分开(作为独立的)。
如果一个项目在几个解决方案之间共享,那么最好为它创建一个单独的存储库。只需将依赖解决方案/项目的关系添加到这一点;
-
以防止在为不同目的生成不同的构建过程中出现问题(换句话说,配置管理)。
您可以为此调整TeamCity(主要用于在每个“提交”或基于时间的计划之后构建和部署自动化),或者使用一些简单但功能强大的实用程序,如带有预定义配置的nant。
所以我认为没有理由做一个大的构建(可能只有在发布时),但是单独的构建更容易使用(对于QA和只在某些部分上工作的开发人员)。第二个问题是时间。例如,要在一个解决方案中使用所有项目进行完整的构建,在四CPU 8GB RAM上大约需要10分钟,但是使用记帐部分或注册部分进行构建只需要1分钟——这对我来说很重要。试着想象一下这个过程,在一张纸上画画,它就变得清晰了——该做什么,为什么要做。
所有的意见都是基于我的实践,在成功的项目中,每天/晚上都经历着变化,并且有几十种配置(您的构建)。