在源代码控制系统本身中包含编译器、库和其他工具有哪些建议?
过去,我遇到过这样的问题:尽管我们拥有所有源代码,但构建产品的旧版本是一种急于尝试获得 Visual Studio、InstallShield 和其他工具(包括正确的补丁版本)用于构建产品。在我的下一个项目中,我想通过将这些构建工具检查到源代码控制中来避免这种情况,然后使用它们进行构建。这也将在设置新的构建机器方面简化事情——1)安装我们的源代码控制工具,2)指向正确的分支,3)构建——就是这样。
我考虑过的选项包括:
- 将安装 CD ISO 复制到源代码控制 - 虽然这提供了我们需要返回到旧版本时所需的备份,但这不是“实时”使用的好选择(每个构建都需要从安装步骤开始,这很容易将 1 小时的构建时间变成 3 小时)。
- 将软件安装到源代码控制。ClearCase 将您的分支映射到驱动器号;我们可以在这个驱动器下安装软件。这不考虑安装工具的非文件部分,如注册表设置。
- 在虚拟机中安装所有软件并设置构建过程,将虚拟机存储在源代码管理中,并弄清楚如何让虚拟机在启动时进行构建。虽然我们轻松地捕获了“构建机器”的状态,但我们得到了 VM 的开销,并且它无助于“为开发人员提供相同的工具问题”。
这似乎是配置管理的一个基本概念,但我一直无法找到任何资源来了解如何做到这一点。有什么建议?