基于Jenkins+SonarQube+Nosetests+Coverage的Python项目持续集成

前言

本文从一个规范的Python项目目录结构开始,介绍了一个Python项目应该遵序的一些编码规范,以及与持续集成相关的工具使用。由于网上众多Python项目是使用TravisCI进行持续集成,跟使用Jenkins+SonarQube方案不一样,所以我们重新研究了如何整合这些内容。

  • 基于Jenkins进行集成
  • 基于Nosetests进行自动化测试
  • 基于coverage.py进行代码覆盖率检查

另外为了进一步解决自动化测试、开发过程的种种问题,我们也对以下工具进行了研究。

  • 基于virtualenv进行测试环境隔离的,它的目标很简单:如果你的一台机子中有很多Python项目,每个都有不同的依赖(可能相同的包,但是依赖不同的版本),仅仅在一个Python安装环境中管理这些依赖几乎是不可能
  • 基于Sphinx生成Python代码文档,Sphinx是已经被用来生成Python官方文档大多数流行的Python项目文档的工具。

部分参考Open Sourcing a Python Project the Right Way

1. Python项目的目录结构

一个完整的Python项目,可以参考gitlab上的python-ci-demo项目的目录结构

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/104201120
今日推荐