對於程序員來講,最糾結的恐怕是如何在衆多工具和應用中選取合適的那個,小數以前給你們分享了8種CI/CD工具,用以提升交付效率和質量,今天再和談談選擇CI平臺要考慮的10大要素,前人栽樹後人乘涼~程序員
持續集成(CI)是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。編程
CI是採用DevOps的關鍵性一步,因此選擇正確的平臺無比重要。安全
如下是選擇平臺須要評估的10大要素:編程語言
CI平臺的主要目標是爲開發者提供代碼檢測的快速反饋,如:有一個存儲庫,天天進行2次更新,每一年大約有500次更新,若是此存儲庫的構建速度快5分鐘,將節省(5 500)/(60 8) = 5.2 個工做日,所以如有多個存儲庫就會發現,即便在構建時加快幾分鐘,也能大大提升生產率。ide
應該與構建所需的語言和第三方工具相結合,支持源代碼管理系統以及編程語言、測試工具、打包工具和推送應用程序包的存儲庫及部署端點。CI平臺應輕鬆地將這些集成起來並開始工做,通常狀況下,建議使用具備規模大的平臺,以便後續不受限制地採用不一樣工具。工具
免費方案或試用期是選擇CI平臺的關鍵因素,若沒有免費方案,沒法確切瞭解原理,也很難與有競爭力的產品進行比較作出決策。智能CI平臺應說服潛在客戶試用免費方案或無限制免費試用,用戶一旦瞭解了高級功能的價值,即會作出明智選擇。測試
CI服務須要快速方便地安裝使用,若發現本身問了太多關於如何使用平臺來實現簡單場景的問題,這意味着服務太複雜,操做不便。若是優秀的使用文檔和案例最好,且能夠經過在線聊天系統即時詢問。ui
Docker逐漸成爲主流,應該選擇具備支持Docker的平臺,即使還沒有使用容器,也應未雨綢繆。提早進行部署,如此CI平臺纔不會成爲遷移到Docker的瓶頸。spa
支持多點運行,這樣能夠確保應用在不一樣場景中正常使用,同時也幫助測試語言的環境,並在採用新語言版本以前發現潛在問題。命令行
能在不使用任何其餘工具的狀況下,顯示代碼覆蓋率和測試結果的信息,充分實現可視化。
能夠經過命令行的通用語法(如YAML文件)進行簡單的配置,該文件能夠與命令行一塊兒使用並進行版本控制。UI配置相對比較笨重,使用命令行能夠改善。
支持基礎設施處理和知足安全要求。若是是資源密集型構建,要能夠購買更大的節點。若是是嚴謹的金融技術型公司,建議應用開發放在內網,則CI平臺要有企業版。
最後,詢問CI平臺是否有客戶支持團隊,並容許開發人員不須要太繁瑣的手續或操做便可對其進行詢問,由於傳統的客服對產品或客戶場景沒法很好理解,只是提供了表面的支持。若是CI平臺組建了客戶支持團隊,代表願意採起主動的方式來幫助客戶解決問題。
原文做者: Pavan Belagatti
原文連接:https://dzone.com/articles/10...