为构建存档目的收集操作系统和工具版本号

Posted

技术标签:

【中文标题】为构建存档目的收集操作系统和工具版本号【英文标题】:Gathering OS and tool version numbers for build archive purposes 【发布时间】:2010-09-05 14:04:01 【问题描述】:

我们的自动构建机器需要存档操作系统的版本号以及每次构建过程中使用的各种工具。 (以防我们以后需要复制完全相同的构建,可能是在机器早已死机的时候。)

我看到命令“msinfo32.exe”可以用来转储整个系统版本信息,我们不妨存档。

有谁知道轻松存档 Visual Studio 工具版本号的方法?

其他开发人员使用什么机制来收集此类信息以用于存档目的?


法比奥·戈麦斯的额外信息。

我同意您的观点,5 年后可能无法重新创建确切的操作系统和工具配置(直至最近的安全更新)。不幸的是,这确实来自合同要求。作为我们向客户交付的一部分,我们必须提供所有源代码的副本以及关于如何复制构建的明确说明。我们可能不可能完美地满足这个要求。

所以 - 我只是将你的答案标记为正确(我同意你的观点,这实际上是不可能的),然后继续玩剩下的堆栈溢出。 :)

附言。如果堆栈溢出支持对答案的回复而不是编辑原始问题,那就太好了。但我看到它有already been denied。

【问题讨论】:

【参考方案1】:

如果您是在 命令行 上构建,您可以告诉它是冗长的,并将所有输出捕获到一个文本文件中,以便在每次构建时存档。

eg, msbuild <build_file> > myfile.txt

【讨论】:

【参考方案2】:

很抱歉,但是未来需要复制完全相同的构建的原因是什么?

根据我的经验,要么确保产品安装人员的安全,要么从头开始构建新版本。

此外,IMO 未来复制完全相同的构建的唯一方法是在虚拟机上运行构建机器并保留 VM 备份。

我认为,您将来需要复制完全相同的版本的大多数软件将不再可用,因此您需要保留您在这台机器上安装的每个软件版本的副本。

您能否更具体地说明您要解决的问题?

【讨论】:

【参考方案3】:

另一种建议:将相关工具(编译器、系统头文件和库等)放在存储库本身中,而不是期望它们在本地安装。另请参阅我在此主题上写的 blog post。

我已将 Visual Studio、gcc 等全部签入我的 Subversion 存储库。

【讨论】:

以上是关于为构建存档目的收集操作系统和工具版本号的主要内容,如果未能解决你的问题,请参考以下文章

如何自动将内部版本号添加到 Xcode ios 存档

使用 Xcode 的命令行构建工具存档(xcodebuild 存档)

是否可以更改构建号。归档 iOS 项目后?

使用 phonegap v 2.9 为 Xcode 4.6 版本构建存档失败

ELK 构建 MySQL 慢日志收集平台

John the Ripper (“JtR”)密码破解工具