1. 程式人生 > >記錄一次艱辛的Python包持續整合與釋出過程

記錄一次艱辛的Python包持續整合與釋出過程

緣由

為了保證程式碼質量,編寫單元測試是非常必要的,特別是在團隊開發的過程中,編寫有效的單元測試保證每人編寫的模組能夠正常工作,以免專案後期出現各種不可預知的bug,因此,在提交程式碼前執行單元測試,可以有效保證程式碼的健壯性。這種工作當然是要自動化完成,因此,許多CI工具也應運而生,最常見的就是Travis-CI,它很好地與Github相容,每當我們提交程式碼時,都會執行.travis.yml下的指令來執行程式碼,保證每次提交的程式碼質量。此處僅僅記錄一下遇到的問題,具體步驟可參考我的Github其中的Reference有詳細描述

CD中遇到的問題

  • pypi加密問題:
    - 使用pip install travis並不能有效工作
    - 嘗試使用gem install travis安裝travis命令列工具
    - 使用travis login登陸與Github關聯的Travis
    - 必須在Git倉庫下加密密碼,且不同倉庫的相同變數加密結果均不一樣,可以理解為不同環境下的環境變數,命令列為travis encrypt xxxx
    ,然後將該密碼加入.travis.yml檔案password: secure: XXXX
    - 設定釋出條件:
    *tags:true (僅在釋出標籤時執行釋出)
    *python: 3.6 (僅在執行的Python環境為3.6時釋出)
    *branch: master (僅釋出主分支)