1. 程式人生 > >選擇CI平臺時需要考慮10件事

選擇CI平臺時需要考慮10件事

持續整合是DevOps採用的第一步。選擇CI平臺時,要牢記這十個因素。

持續整合(CI)是一項需要開發人員每天多次將所有原始碼整合到共享儲存庫中的軟體開發活動。然後,每個提交都通過自動化構建來進行驗證,從而允許團隊在週期早期發現缺陷。一個CI步驟的結果是典型的單元測試和一致的程式碼庫。

CI是採用DevOps的首要步驟之一,所以選擇正確的CI平臺將讓您有一個正確的開始。並且正如我們知道的,良好的開端是成功的一半!

以下是您選擇CI平臺時應評估的前十項內容

1.更快的構建

CI平臺的主要目標是為開發人員提供每次程式碼更改的快速反饋。為了說明這件事情的重要性,讓我們來看一個簡單的例子:您有一個每個工作日都有兩次提交的儲存庫,那麼每年大約有500個提交。如果這個儲存庫的構建速度快了5分鐘,那麼您將每年節省(5 * 500)/(60 * 8)= 5.2個工作日!現在,推算到多個儲存庫,您將看到,即使是在構建時間幾分鐘的改進也會促進大幅度生產力的提升!

2.整合

您的CI平臺應該整合您構建所需的所有語言和第三方工具。平臺應支援您的原始碼管理系統,以及程式語言,測試工具,打包工具和您要推送的應用程式包的包倉庫或部署端點。連線這些整合很容易,並且可以立即開始工作。一般來說,尋找具有最大數量整合的平臺,以便將來您不受限於採用不同的工具。

3.免費方案

免費方案或試用期是選擇CI平臺的關鍵因素。沒有一個免費方案,你就不知道這個工具是如何工作的,也很難與競爭性產品進行比較並做出決定。一個聰明的CI平臺應該說服它的潛在客戶嘗試免費的方案或者不受限制的免費試用。一旦人們看到高階功能的價值,他們就可以明智地選擇他們真正需要的東西。

4.快速簡便的設定

CI服務需要快速方便地裝載和使用。如果您發現自己提出了太多關於如何使用平臺來實現簡單方案的問題,那麼這可能意味著對於您的需求該服務是複雜的和過度的。解決辦法是尋找優秀的文件和樣本,更重要的是,在現場聊天中提出問題的能力。

5.容器支援

Docker正越來越受歡迎,您應該選擇一個具有本機Docker支援的CI平臺。即使您現在不使用Docker,但您很可能會在明年嘗試使用。您應該提前計劃,以便CI平臺不會成為遷移到Docker的瓶頸。 

6.使用多個執行,版本和環境進行測試

您的CI平臺應允許您為每個提交觸發多個構建,以便您確保您的應用程式能夠在不同的場景下正確執行。這也可以幫助您測試一種語言的邊緣版本,甚至在您正式採用新語言版本之前發現潛在的問題。

7.整合程式碼覆蓋率和測試結果視覺化

您的CI工具已經具有顯示測試和程式碼覆蓋率結果所需的資訊,因此您不需要使用coveralls和任何單獨的工具。程式碼覆蓋率和測試結果應該被整合到每個構建的結果中。

8.建立程式碼

CI平臺應通過基於程式碼的通用語法(如YAML檔案)來支援簡單的配置,該檔案可以與您的原始碼一起使用並進行版本控制。基於UI的配置是不便利的,並且通常沒有關於誰改變程式碼的歷史記錄。

9.靈活的基礎設施選擇

您的CI平臺應該支援您的基礎設施,處理和安全要求。如果您的構建是資源密集型的,您應該有能力購買更大的節點。如果您是具有嚴格合規性要求的Fintech公司,或者由於任何原因希望將所有軟體開發移至防火牆後面,您應確保您的CI提供商具有企業版本。

考慮到許多組織需要在防火牆後面執行,但不想管理自己的CI基礎設施,我們提供了一個名為BYON的獨特選項。BYON允許您使用自己的防火牆後的基礎設施和我們的託管服務,所以您可以獲得兩個領域最好的。

10.客戶成功

最後但同樣重要是,詢問組織是否擁有客戶成功團隊,並允許訪問開發人員,而不需要太多的繁文縟節。我們都對傳統的客戶支援代表感到失望,他們對產品或客戶場景沒有很好的瞭解,並提供較少的支援。如果一個組織建立一個客戶成功的團隊,這表明他們願意採取主動的方法來處理所有以客戶為中心的活動,包括支援。

選擇您的CI平臺之前,請確保您查詢上面提到的這些特徵。選擇更好的CI服務可以幫助您節省時間和精力。

目前,Shippable是一種具有上述所有特徵和方面的工具。

文章來自微信公眾號:DevOps社群