Continuous integration 在virgin机器上持续集成和运行构建?

Continuous integration 在virgin机器上持续集成和运行构建?,continuous-integration,Continuous Integration,这个问题分为两个部分 1) 作为我们持续集成构建过程的一部分,我希望安装所有东西,就像它是一台原始机器一样。马丁·福勒论文: 他的意思是说,我们采取每个(集成)构建(干净的机器)并安装所有必要的软件,以使构建工作?我猜这就是他所说的“单一命令”构建 2) 这很好地引导我进入下一个问题。是否可以通过命令行使用Powershell/Dos安装程序?例如,我将如何安装WinRar和MySQL?(Winrar是一个简单的例子,MySql复合体) 无论如何,我很想听听CI的实际实践者,以及他们是如何处理构

这个问题分为两个部分

1) 作为我们持续集成构建过程的一部分,我希望安装所有东西,就像它是一台原始机器一样。马丁·福勒论文:

他的意思是说,我们采取每个(集成)构建(干净的机器)并安装所有必要的软件,以使构建工作?我猜这就是他所说的“单一命令”构建

2) 这很好地引导我进入下一个问题。是否可以通过命令行使用Powershell/Dos安装程序?例如,我将如何安装WinRar和MySQL?(Winrar是一个简单的例子,MySql复合体)


无论如何,我很想听听CI的实际实践者,以及他们是如何处理构建过程的

在我构建的最新CI环境中,我在单个目录树下安装并配置了工具链和SDK,然后创建了树的映像。然后,每个干净的构建将装载映像,从版本控制签出源,构建它们,运行测试等。卸载时,请记住不要将更改提交回映像,以便映像文件保持干净

对于我们使用的每个构建,我们确保了一个完全干净的工作环境,但假设机器上已经安装了整个工具链和实用程序应用程序

如果你真的想进入维珍机器的层次,那么我会同意laalto的观点,并研究VM。设置VM库以表示产品集所需的不同构建环境/配置,并根据需要加载/启动它们,因为您需要不同产品的构建

我认为总是从一个干净的工作目录进行构建是非常重要的,但我怀疑总是尝试从一个裸操作系统开始,并为每个构建从头开始安装所有东西的真正价值