Java 多操作系统上的Jenkins集成测试

Java 多操作系统上的Jenkins集成测试,java,unit-testing,maven,jenkins,integration-testing,Java,Unit Testing,Maven,Jenkins,Integration Testing,目前,我们在构建服务器上使用Jenkins来自动化许多API和应用程序的Maven构建。Jenkins在windows机器上运行,但我们的代码设计为独立于平台。与大多数项目一样,我们也有特定于平台的本机,我们将其与应用程序捆绑在一起,在应用程序运行的环境上下文中根据需要进行部署。我们希望能够设置Jenkins,这样我们至少可以跨多个操作系统运行单元测试,而不必为每个操作系统维护Jenkins build server的独立副本。如果Jenkins的一个实例(windows one)可以远程通信以

目前,我们在构建服务器上使用Jenkins来自动化许多API和应用程序的Maven构建。Jenkins在windows机器上运行,但我们的代码设计为独立于平台。与大多数项目一样,我们也有特定于平台的本机,我们将其与应用程序捆绑在一起,在应用程序运行的环境上下文中根据需要进行部署。我们希望能够设置Jenkins,这样我们至少可以跨多个操作系统运行单元测试,而不必为每个操作系统维护Jenkins build server的独立副本。如果Jenkins的一个实例(windows one)可以远程通信以推送设置,如SVN repo位置,可能共享/合并代码覆盖率分析的统计数据,以及插件的配置,那就太好了。我对詹金斯不太了解,我只是试探一下。我找到了SSH访问和jenkins CLI,它们可能可以用来实现其中的一些功能,但我想知道是否有更好的方法来实现这一点。有人能给我指出正确的方向吗?

您应该考虑在适当的操作系统上设置多个。
通过将作业限制为仅在相应操作系统的从机上运行,您可以构建一个在不同操作系统的从机上运行作业的构建管道。

一个选项是使用类似的插件,并使用它按需启动新的虚拟机。这在运行功能测试需要节点隔离的情况下更有用。它还使您能够在作业完成后回滚到快照,从而恢复到已知的良好状态

在容器足够的情况下,类似的工作原理是允许您按需启动实例


我有一个悬而未决的问题,就是如何在工作之间轻松合并测试覆盖率:。

谢谢KBB。今晚我将对此进行调查,看看它是如何工作的。