持续集成¶

备注
有关编写测试的建议,请参阅 测试您的代码 。
为什么?¶
Martin Fowler,第一个写 持续集成 (简称:CI)与Kent Beck一起,将CI描述为:
持续集成是一种软件开发实践,在这种实践中,团队成员经常集成他们的工作,通常每个人至少每天集成一次,从而导致每天进行多次集成。每个集成都通过一个自动构建(包括测试)进行验证,以尽快检测集成错误。许多团队发现,这种方法会显著减少集成问题,并允许团队更快地开发具有凝聚力的软件。
Jenkins¶
Jenkins CI 是一个可扩展的持续集成引擎。使用它。
Buildbot¶
Buildbot 是一个用于自动执行编译/测试循环以验证代码更改的python系统。
Tox¶
tox 是一个自动化工具,可以从控制台或CI服务器直接提供Python软件的打包、测试和部署。它是一个通用的virtualenv管理和测试命令行工具,提供以下功能:
检查包是否使用不同的python版本和解释程序正确安装
在每个环境中运行测试,配置您选择的测试工具
充当持续集成服务器的前端,减少样板文件,合并基于CI和shell的测试
Travis-CI¶
Travis-CI 是一个分布式CI服务器,免费为开放源码项目构建测试。它提供多个工作器来运行Python测试,并与GitHub无缝集成。您甚至可以让它对您的Pull请求进行注释,不管这个特定的更改集是否破坏了构建。因此,如果您在GitHub上托管您的代码,Travis-CI是开始持续集成的一个很好且简单的方法。
要开始,请添加 .travis.yml
将包含以下示例内容的文件保存到存储库:
language: python
python:
- "2.6"
- "2.7"
- "3.2"
- "3.3"
# command to install dependencies
script: python tests/test_all_of_the_units.py
branches:
only:
- master
这将通过运行给定的脚本在所有列出的Python版本上测试您的项目,并且将只构建 master
分支。您可以启用更多的选项,如通知、步骤前后等等。这个 Travis-CI docs 解释所有这些选项,并且非常彻底。
要激活项目的测试,请转到 the Travis-CI site 并使用您的Github帐户登录。然后在配置文件设置中激活项目,就可以开始了。从现在开始,项目的测试将在每次推到GitHub时运行。