Python代码库的连续集成系统

2024-06-11 05:44:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始用一个Python代码库做一个业余项目,我想建立某种形式的持续集成(即每次签入时运行一组测试用例,在测试失败时向负责人发送nag电子邮件),类似于CruiseControl团队城市

我意识到我可以在大多数vcse中使用钩子来实现这一点,但这需要测试与版本控制服务器在同一台机器上运行,这并不像我希望的那样优雅。有人对一个小型的、用户友好的、开源的、适合于Python代码库的持续集成系统有什么建议吗?


Tags: 项目代码电子邮件测试用例团队版本控制钩子形式
3条回答

我们在工作时跑Buildbot - Trac。因为我的代码库还不是发布周期的一部分,所以我并没有过多地使用它。但是我们在不同的环境(OSX/Linux/Win)上运行测试,它发送电子邮件——而且是用Python编写的。

一种可能是哈德逊。它是用Java编写的,但与Python项目集成:

Hudson embraces Python

不过,我自己从来没有试过。

更新,2011年9月:在商标纠纷后,Hudson被重命名为Jenkins。)

其次是Buildbot-Trac集成。您可以在Buildbot website上找到有关集成的更多信息。在我之前的工作中,我们编写并使用了他们提到的插件(tracbb)。 插件所做的是重写所有的Buildbot url,以便您可以在Trac中使用Buildbot。(http://example.com/tracbb)。

Buildbot真正好的地方在于它的配置是用Python编写的。您可以将自己的Python代码直接集成到配置中。编写自己的构建步骤来执行特定任务也非常容易。

我们使用构建步骤从SVN获取源代码,提取依赖项,将测试结果发布到WebDAV,等等。

我写了一个X10接口,这样我们就可以用构建结果发送信号。当建造失败时,我们打开了一盏红色的熔岩灯。建造成功后,一盏绿色熔岩灯亮了。好时光:-)

相关问题 更多 >