使用Jenkins/Hudson自动检测刀具?

使用Jenkins/Hudson自动检测刀具?,hudson,build-automation,jenkins,nodes,Hudson,Build Automation,Jenkins,Nodes,Jenkins/Hudson中存在哪些机制来自动检测节点上安装的工具 例如,.NET框架、Visual Studio版本、安装生成器工具、安装的脚本语言可执行文件等 我目前正试图弄清楚Jenkins是否以及如何(以及是否有意义)自动检测我们必须安装在所有节点上的工具(Salves) 由于我们的节点是Windows机器,硬编码路径没有意义(IMHO),因为路径不匹配Windows 64位与32位/XP与Windows 7/不同的语言版本 此外,有相当多的工具需要安装,因此也不能只在文件上进行镜像

Jenkins/Hudson中存在哪些机制来自动检测节点上安装的工具

例如,.NET框架、Visual Studio版本、安装生成器工具、安装的脚本语言可执行文件等

我目前正试图弄清楚Jenkins是否以及如何(以及是否有意义)自动检测我们必须安装在所有节点上的工具(Salves)

由于我们的节点是Windows机器,硬编码路径没有意义(IMHO),因为路径不匹配Windows 64位与32位/XP与Windows 7/不同的语言版本

此外,有相当多的工具需要安装,因此也不能只在文件上进行镜像

显然,我可以为我们的工具定义一组环境变量,并使用Jenkins提供的这些变量。但我更愿意使用/构建一些可以自动配置新节点/从节点的东西


您还可以将这个问题理解为:是否可以编写一个插件,自动检测Windows从属服务器上的“东西”,并将其作为节点属性提供?(如果我想这样做,我从哪里开始呢?

AFAIK,Jenkins可以本机自动配置的唯一工具是Java JDK、Ant和Maven。我不确定其他插件能做什么


您可能必须使用环境变量,或者您可以创建一个多配置作业,将您的工具安装到从属设备上(如果它们还不存在的话)。这将假定您的工具可以进行静默安装,并且您可以指定安装目录(在所有平台上都是相同的)。

我采用了为所有节点提供一组公共环境变量的方法。
由于我必须手动管理Windows节点上安装的内容——许多工具都有安装程序,我需要在使用它们之前运行它们——因此调整每个节点上的环境变量并不是什么大事。(我有一个小批量脚本,可以通过
setx
设置所有内容)

谢谢。我的意思不一定是开箱即用。你能对我的编辑评论一下吗。有一个自定义插件吗?好问题。Kohsuke写了一篇博客文章,可能会给您一些提示()。您是否考虑过使用已经安装了所有您需要的工具的模板化虚拟机?@adam-虚拟机方法很有吸引力,但我们在这里没有资源。@Martin Xen Hypervisor为您提供了一个几乎裸机的虚拟机主机。从中心位置重新加载完全框架化的vm映像时执行脚本输出。这种技术通常用于计算集群,使所有节点都处于最新状态,花费的资源不会比您已经分配的熨斗多,我认为这将以一种更稳健的方式解决您的问题。