【问题标题】:Jenkins - CI with Virtual MachinesJenkins - 带有虚拟机的 CI
【发布时间】:2016-11-02 14:12:09
【问题描述】:
目前,我的框架代码是用 Java/Maven 编写的,我想使用 Selenium 网格和 Jenkins 运行此代码。我已将 Jenkins 配置为从 SVN 提取最新代码并设置 Jenkins 作为中心。
我想知道如何让 Jenkins 管理虚拟机?例如,如何让 Jenkins 使用 Windows 7 或 10 启动虚拟机,使用我需要测试的任何浏览器,以及如何让虚拟机将自己声明为节点?
我是手动配置虚拟机/节点并让它们保持活动状态,还是有办法使用 Jenkins 自动执行此过程?
【问题讨论】:
标签:
jenkins
continuous-integration
jenkins-plugins
selenium-grid
【解决方案1】:
Jenkins 有许多虚拟机插件,但它们倾向于与每种不同的虚拟机技术(或 API)保持一致。例如这里是OpenStack VM 插件。
每个插件的功能和配置都略有不同,但它们大多都提供相似的功能。他们应该能够在作业之前启动 VM,然后再将其关闭。
我建议您扫描Jenkins Plugins 页面以查找适用于您正在使用(或计划使用)的任何虚拟机技术的插件。
请注意,Jenkins 管理构建的某些方面(Java 库等),但管理空间中有很多重叠(Maven、Jenkins 等)。有些人使用专用的管理工具来管理 VM 配置(如 SaltStack、Puppet 或 Chef)。如果这是您成长的目标,请记住,您必须在作业的工作流程中包含检查以查看管理工具是否报告 VM 是最新的,因为它很可能大部分时间都会下降时间(因此没有更新)。