如何实现python包开发的跨平台持续集成?

时间:2013-04-04 12:25:55

标签: python jenkins continuous-integration travis-ci

我正在开发一些python包,我确实想在将它们发布到PyPi之前进行适当的测试。

这需要在

中运行单元测试
  • 不同的python版本:2.5,2.6,2.7,3.2
  • 不同的操作系统:OS X,Debian,Ubuntu和Windows

现在我正在使用pytest

问题:如何轻松实现这一点,最好将结果公之于众,并与github集成,这样任何人都会知道结果。

注意:我已经知道https://travis-ci.org/但是这似乎缺少跨平台部分,这在这种情况下是必不可少的。

我考虑的另一个选择是使用Jenkins,但我不知道如何在其上提供矩阵测试。

2 个答案:

答案 0 :(得分:1)

我使用过Jenkins,我会推荐它。它有很多插件,并且非常易于配置。

我用它在windows / linux / mac / mobile平台上运行项目,用于理智,单元,组件和回归测试。

它可以支持项目和测试的链接,在测试环境进展时要监控的项目的指纹识别,还可以设置用户并跟踪变化。

您可以将它用于生产和测试,同时将其连接到您的git存储库,您所做的任何更改都会自动运行您想要的所有手套。

答案 1 :(得分:0)

您可以使用tox自动设置虚拟环境并在Python版本中运行测试:

[tox]
envlist = py25,py26,py27,py32
[testenv]
commands=py.test

Tox支持Python版本2.4及更高版本,以及Jython和PyPy。

如果您想查看使用tox的真实项目,请查看zope.configuration tox.ini configuration。该套餐包括优秀的documentation on how to run the tox tests。这些测试由Zope nightly test builders自动运行。

将tox配置为run under Jenkins是微不足道的,并且完整记录。