【发布时间】:2011-06-29 06:35:48
【问题描述】:
Jenkins/Hudson 中有哪些机制可以自动检测节点上安装的工具?
例如,.NET 框架、Visual Studio 版本、Setup-Builder 工具、已安装的脚本语言可执行文件等。
我目前正试图弄清楚 Jenkins 是否以及如何(以及是否有意义)可以自动检测我们必须在所有节点(Salves)上安装的工具。
由于我们的节点是 Windows 机器,由于路径不匹配 Windows 64 位与 32 位/XP 与 Windows 7/不同的语言版本,硬编码路径没有意义(恕我直言)。
另外,很多工具都需要安装,所以仅仅镜像文件也不是一个选项。
显然,我可以为我们的工具定义一组环境变量,并使用 Jenkins 中的这些变量。但我更喜欢使用/构建一些可以自动配置新节点/从属的东西。
您也可以将这个问题解读为:是否可以编写一个插件来自动检测 Windows 从属服务器上的“东西”并将其作为节点属性提供?(如果我从哪里开始?想这样做吗?)
【问题讨论】:
-
好问题。 Kohsuke 写了一篇博文,可能会给你一些建议 (blog.cloudbees.com/2011/03/…)。
-
您是否考虑过使用已经安装了您需要的所有工具的模板化虚拟机?
-
@adam - 虚拟机方法很有吸引力,但我们这里没有资源。
-
@Martin Xen Hypervisor 使您能够拥有几乎裸机的 vm 主机。编写从中心位置重新加载完全框架化的 vm 映像的脚本。这种技术通常用于计算集群,以使所有节点保持最新,所花费的资源不会超过已分配的铁,而且我认为会以更强大的方式解决您的问题。
标签: hudson build-automation jenkins nodes