首页 > 解决方案 > 推送更改后如何构建所有项目

问题描述

在我尝试在 Jenkins 中为我的项目实施 CI 时,我遇到了这个问题,这很可能与我组织这些项目的方式有关。这可以简化为以下几点:

注意:现实生活中大约有 20 个共享项目,每个解决方案包含 10-15 个独特的项目

ModernApp.sln用来进行我需要的更改。有时这些更改会中断LegacyApp.sln,但直到每晚构建失败时我才意识到这一点(因为只有每晚构建句柄LegacyApp.sln)。

问题是:处理此问题的最佳方法是什么,以便在我推送更改后 CI 构建失败?

显然,我必须在 CI 构建中包含 LegacyApp 项目,但是如何?我能想到的选项并不完美:

  1. 继续使用 2 个解决方案并配置 CI 构建以按顺序构建它们。当我添加一个新的共享项目时,这不会扩展,因为我必须更新这两个解决方案。
  2. 将这 2 个解决方案合并为一个AllApps.sln,包括共享项目、来自 的独特项目LegacyApp和来自 的独特项目ModernApp。缺点是遗留应用程序项目一直加载到 IDE 中(而不是使用ModernApp.sln不包含它们的项目)。
  3. 继续使用这 2 个解决方案,但让构建在构建服务器上的构建时“合并”它们,以便它自动创建上述AllApps.sln (或等效的东西)作为 CI 构建使用的临时文件。我不确定这是否可能。

想法?

标签: .netmsbuildcontinuous-integration

解决方案


是否可以存储/维护某种依赖配置,以便每次合并代码时只构建依赖项目。


推荐阅读