【问题标题】:Jenkins integration testing on multiple operating systemsJenkins在多个操作系统上的集成测试
【发布时间】:2014-07-30 21:04:37
【问题描述】:

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

【问题讨论】:

    标签: java unit-testing maven jenkins integration-testing


    【解决方案1】:

    您应该考虑在适当的操作系统上设置多个slaves。 您可以构建一个构建管道,其中包含在不同操作系统的从属设备上运行的作业,方法是将这些作业限制为仅在相应操作系统的从属设备上运行。

    【讨论】:

    • 谢谢kbb。今晚我会研究一下,看看它是如何工作的。
    【解决方案2】:

    一种选择是使用像vSphere Cloud Plugin 这样的插件,并使用它来按需启动新的虚拟机。这在您需要节点隔离来运行功能测试的情况下更有用。它还使您能够通过在作业完成后回滚到快照来恢复到已知的良好状态。

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

    我有一个关于轻松合并作业之间的测试覆盖率的未决问题:Jenkins Merge Coverage

    【讨论】:

      猜你喜欢
      • 2022-11-18
      • 2011-07-20
      • 2016-07-25
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      相关资源
      最近更新 更多