我的团队构建了一个基于 .NET 的软件和其他几个组件。目前使用 TeamCity 进行持续集成,MSBuild 用于简单地编译 .sln 文件(以及其他一些小任务,例如单元测试)。
我们的源代码控制以某种方式构建,使得 repo 包含许多在单次提交后编译的小型“插件”项目。
这使得仅构建更改的组件变得困难,而且以后仅交付那些作为构建工件的组件。
诸如将构建目标设置为“构建”而不是“重建”之类的解决方案可能会有所帮助,但它似乎有点过于脆弱,尤其是在处理可能在任意数量的构建“代理”上进行构建的分布式构建环境时,甚至那些没有以前的编译输出的。
我想知道解决这种情况的正确方法是什么?显然,这是一个已知问题,可能已经被许多人处理过。
我们希望构建和交付(每次构建)一组由当前构建(通过代码签入)修改的 DLL/组件。
我们可以实施哪些技术来实现这一目标?