是否有可能暂时忽略Jenkins的测试?

时间:2015-05-29 07:58:44

标签: jenkins jenkins-plugins

我们的测试套件经常中断,因为我们针对不在我们控制范围内的外部服务运行了大量集成测试。当这些外部服务面临服务中断时,我们的构建开始失败。

有没有办法可以暂时忽略Jenkins中的测试(在外部服务中断期间),这样看起来整个版本并没有被破坏,实际上并不是这样。

3 个答案:

答案 0 :(得分:2)

是的,Jenkins Quarantine Plugin允许用户暂时隔离测试。我和你一样处于同样的境地,这个插件肯定是一个救生员!

项目并未真正得到维护。正如您所看到的,它的构建状态今天是“失败”,可能是由于最近的Jenkins API更改。

但是,该插件一直运行良好,具有以下配置:

  • Jenkins 1.526
  • 从SHA 2c8393d4c21106c4e4f7f3868e8fc19509aee884构建的隔离插件如下:

    git clone https://github.com/samsta/quarantine.git && cd quarantine
    git checkout 2c8393d4c21106c4e4f7f3868e8fc19509aee884
    mvn clean install
    

我相信你能找到办法让它发挥作用,所以我希望你能试一试!

答案 1 :(得分:1)

您可以将其拆分为较小的块并触发下一个作业,即使其中一些作业失败也是如此。

另一种方法是,以总是返回0的方式重新配置测试,但是如果发生故障,它们会设置一些环境标志。然后,您可以使用Conditional Buildstep Plugin,并查看是否设置了此标志,并根据不同测试中的标志,您可以评估作业在作业结束时是成功还是失败。

答案 2 :(得分:0)

您可以考虑使用服务虚拟化工具来模拟服务的响应。这样,您就可以解除对运行测试时无法控制的服务的依赖性。