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