前些時日GitHub被微軟併購,GitLab順勢推出許多優惠方案,吸引了不少用戶。而現在釋出GitLab 11.0,新增了許多新功能,要來服務廣大的用戶,重點更新除了這次主打Auto DevOps正式可用外,還強化了安全性以及網頁IDE的功能,並持續強化對Kubernetes的整合。

GitLab把這次的更新重點放在簡化內建的持續交付流程,提供自動化的服務。這個稱為Auto DevOps的功能,在10.0測試版的時候開始提供,而在11.0已經正式可用,這是一個原本就建置在系統內服務,提供完整的持續整合與持續交付(CI/CD)功能,其涵蓋了整個端到端的程式碼生命週期,讓開發者只需要進行提交程式碼的動作,接下來的工作便由系統接手,包括建置、測試、程式碼品質掃描、安全性掃描、授權掃描、封裝、效能測試、部署,一直到了應用程式上線後,Auto DevOps也會監控執行狀態。

 

在GitLab 10.7就釋出的網頁版IDE,在11.0版本,主要新增了兩項功能,讓開發者可以直接在網頁處理更多工作。現在使用者可以直接在網頁IDE查看CI/CD工作管線,在介面的左下方有一個狀態欄顯示CI狀態,而且在右邊也能查看每項工作的狀態以及日誌,方便修復合併請求等CI錯誤。不同以往的是,過去想要修復錯誤,需要開啟多個標籤頁,並且互相切換,現在所有資訊都可以直接在網頁IDE開啟,未來還能在提交前進行預覽和測試。網頁版IDE的第二個重點更新,使用者現在能很方便的處理多個合併請求,只需要一次點擊就可以對管理的合併請求進行切換。

此外,GitLab 11.0新功能之一的授權管理(License Management),或是稱為軟體組合分析。由於應用程式通常包含多個函式庫和框架等外部組件,每個組件都擁有各自的授權與限制,開發者要確保這些外部組件與應用程式授權相容,以避免不需要的法律問題。而GitLab現在把授權管理整合進工作流程的一部分,系統會自動收集軟體中組件的相依關係,在新的改變進入主要分支前,會在合併請求的小工具中顯示新的授權供使用者確認。而使用Auto DevOps功能的使用者,系統會自動為專案啟用授權管理,不過這個新功能只提供給Ultimate與Gold級用戶使用。

在四月時,GitLab就與Google雲端整合,可自動部署應用程式到Kubernetes,現在更全面強化了整合功能,GitLab 11.0提供了幾項新功能,使用者可以用來管理與監控Kubernetes狀態外,需要除錯與檢查pod的時候,也能直接從GitLab部署儀表板中,瀏覽Kubernetes pod的日誌檔。過去當Auto DevOps用於私人或是內部專案的時候,部署作業完成後,Kubernetes便無法存取註冊表(Registry),現在已經能夠創建一個部署權杖,供註冊表後續存取,並且減少錯誤發生的可能性。

在提升使用者應用程式安全性上,GitLab透過整合靜態與動態應用程式安全性測試、相依性與容器掃描,讓使用者可以盡早發現軟體錯誤與漏洞。GitLab在10.7時提供了Go、C與C++靜態分析安全性測試(Static Analysis Security Testing,SAST),現在測試支援的語言擴增Scala與.Net。


Advertisement

更多 iThome相關內容