我开始使用Python代码库进行一个业余项目,并且想建立某种形式的持续集成(即,每次签入时都要运行一堆测试用例,并向负责人发送垃圾邮件)测试失败的人员)类似于CruiseControl或TeamCity。我意识到我可以在大多数VCS中使用钩子来做到这一点,但是这要求测试必须与版本控制服务器在同一台计算机上运行,这并不像我所希望的那样优雅。对于适合Python代码库的小型,用户友好型,开源持续集成系统,是否有人有任何建议?
3 回答

慕桂英4014372
TA贡献1871条经验 获得超13个赞
我们在工作中运行Buildbot-Trac。因为我的代码库还不是发布周期的一部分,所以我并没有使用太多。但是我们在不同的环境(OSX / Linux / Win)上运行测试,并且它发送电子邮件-它是用Python编写的。

繁花不似锦
TA贡献1851条经验 获得超4个赞
我们将Buildbot和Hudson都用于Jython开发。两者都是有用的,但是有不同的优点和缺点。
Buildbot的配置是纯Python,一旦掌握了它,就非常简单(有关最新信息,请参阅epydoc生成的API文档)。Buildbot使定义非测试任务和分发测试人员变得更加容易。但是,它实际上没有单个测试的概念,仅包含文本,HTML和摘要输出,因此,如果要具有多级可浏览的测试输出等,则必须自己构建或使用Hudson。
Hudson为从整体结果深入到测试套件和单个测试提供了出色的支持。这对于比较内部版本之间的测试输出也非常有用,但是分布式(主/从)内容相对较为复杂,因为您也需要在从属服务器上使用Java环境。同样,哈德森对主机和从机之间不稳定的网络链接的容忍度也较低。
因此,为了获得两种工具的优势,我们运行了一个Hudson实例,该实例捕获了常见的测试失败,然后使用Buildbot进行了多平台回归。
添加回答
举报
0/150
提交
取消