Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 15843

360案例讲解:如何使用Python?

$
0
0

360一共80余个Python项目,6万行Python代码。每个项目提供一个或一组完整的功能集合,每个项目都有自己的 setup.py 文件用来将项目代码打包成 Python  发布包(Distribution),部分项目还使用是  Sphinx 和  reST格式的文本自动生成文档。打包好的Python包被发布到自己搭建的内网(与  pypi.python.org 兼容的私有 pypi 服务器),而文档保存在内网的类似于  readthedocs 的服务器上。

后台团队的代码主要运行我们自己的Linux服务器集群上,开发和部署的成本比较低,因此使用比较敏捷的开发流程。流程大体上可以分为下面几个步骤:

  1. 开发:这个步骤当中,开发人员在开发机上面写代码实现功能,不同的开发人员的开发环境使用扩展过的  virtualenv 脚本进行隔离;
  2. 单元测试:开发人员负责对代码当中的关键部分进行单元测试,通常使用  unittest,使用  nose 将测试用例聚合和进行回归测试,不定期使用  coverage 确定代码测试覆盖率(集成在nose当中)。这一步还会使用  PyLint 对代码进行扫描;
  3. 构建:使用  python distribute 将 Python代码构建成包,同时将这个包发布到测试版 pypi 服务器(pypi-testing),测试版pypi服务器是我们搭建的若干个私有pypi其中之一,发布工作使用的是我们扩展的 distribute 命令;
  4. 测试:在测试机器或测试流程当中,从测试版pypi当中获取最新的库并测试,这个部署过程我们使用 distribute 提供的 easy_install 工具进行;
  5. 发布:将经过测试的包从测试版pypi服务器移到发布版pypi服务器,这个同样通过扩展的 distribute 命令;
  6. 部署:运维人员从发布版pypi服务器上获取最新的库,并更新到真实的服务器上,并应用新的变更。这个过程当中任何一台单机部署使用的都是 easy_install,在分布式环境下,我们使用  Fabric 进行多机部署;
  7. 监控:新版本上线之后,会持续通过日志和报警系统进行系统监控。专门扩展了  logging 模块以便适应监控需求。

原文地址: http://blogs.360.cn/blog/how-360-uses-python-0/


Viewing all articles
Browse latest Browse all 15843

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>