持续集成

../_images/33907150594_9abba7ad0a_k_d.jpg

注解

有关编写测试的建议,请参阅 测试您的代码 .

为什么?

马丁·福勒,第一个写 Continuous Integration (简称: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无缝集成。您甚至可以让它对您的请求进行评论,不管这个特定的变更集是否破坏了构建。因此,如果您将代码托管在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时运行。