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

jopen 10年前發布 | 21K 次閱讀 Python Python開發

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.#/blog/how-360-uses-python-0/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!