Jenkins / Hudson中有哪些机制可以自动检测节点上安装的工具?
例如,.NET框架,Visual Studio版本,Setup-Builder工具,安装的脚本语言可执行文件等。
我目前正在试图弄清楚是否以及如何(以及是否有意义)Jenkins可以自动检测我必须在所有节点(Salves)上安装的工具。
由于我们的节点是Windows机器,因为Windows 64bit与32位/ XP与Windows 7 /不同语言版本的路径不匹配,硬编码路径没有意义(恕我直言)。
此外,还有很多工具需要安装,因此也不能选择镜像文件。
显然,我可以为我们的工具定义一组环境变量,并使用Jenkins的这些变量。但我更喜欢使用/构建一些能够自动配置新节点/从节点的东西。
您还可以将此问题读作:是否可以编写一个插件,自动检测Windows从属设备上的“东西”并将其作为节点属性提供?(如果我可以从哪里开始想做那个?)
答案 0 :(得分:0)
AFAIK是Jenkins可以原生自动配置的唯一工具,它们是Java JDK,Ant和Maven。我不确定其他插件可以做什么。
您可能必须采用环境变量方式,或者您可以创建一个多配置作业,将工具安装到从属服务器上(如果它们尚不存在)。这将假设您的工具可以进行安静的安装,并且您可以指定安装目录(在所有平台上都相同)。
答案 1 :(得分:0)
我已经开始为所有节点提供一组公共环境变量。
因为我必须手动管理Windows节点上安装的内容 - 许多工具都需要在使用之前运行安装程序 - 调整每个节点上的环境变量并不是什么大问题。 (我有一个小的批处理脚本,通过setx
设置所有内容。)