GitLab 10.3 功能介紹

GitLab 10.3 功能介紹

原文連結:https://about.gitlab.com/2017/12/22/gitlab-10-3-released/

[CE] : GitLab 社群版(Enterprise Edition Edition)

[EES] : GitLab 小型企業板(Enterprise Edition Starter)

[EEP]:GitLab 高級企業板(Enterprise Edition Premium)

[EEU]:GitLab 無限制企業板(Enterprise Edition Ultimate)

新增功能

 安全與測試功能

  • [EEU] 靜態應用安全檢查(Static Application Security Testing),已經在 Auto DevOps 中實做
  • [EEP] 瀏覽器效能測試(Browser Performance Testing)已完成,將會再加入到 Auto DevOps 中

 討論與看板功能

  • [CE/EES/EEP] 在合併分支(Merge Request)時,可以對程式碼逐行討論
  • [CE/EES/EEP] 從問題單(Issue)建立合併分支時,可以再次自訂分支的名稱
  • [CE/EES/EEP] 一張圖勝過千言萬語、支援 Mermaid 格式的流程圖,Mermaid 格式請看:這裡

 專案編譯(Build)與佈署(Ship)

  • [EEP] 每一個專案可以同時支援多個 k8s 叢集,可以將專案佈署在 dev 或 prod 不同的叢集(beta)
  • [CE/EES/EEP] 在開啟 Auto DevOps 之後第一個 pipeline 將會自動執行,無須手動觸發
  • [CE/EES/EEP] 支援 pipeline 之間的相依性

 

功能說明

[EEU] 靜態應用安全檢查(Static Application Security Testing)

GitLab 10.3 開始使支援靜態應用安全檢查,會程式碼掃描,已查找可能被惡意利用的程式碼,如 XSS 等,目前此功能只支援 Ruby、JavaScript 與 Python 。掃描結果將會顯示在合併分支的頁面中。讓程式碼合併進入主分支之前提早發現問題。

SAST-Gitlab 10.3
SAST 掃描結果

 

[EEP] 瀏覽器效能測試(Browser Performance Testing)

瀏覽器效能測試是開發者若用一些不好的寫法來撰寫網頁,將會拖慢使用者瀏覽網頁的速度,譬如將 JavaScript 程式庫放在 <head> 中,或是將一個未壓縮的圖片放在網頁中,使用者讀取網頁時就會很慢,效能低落。

GitLab 10.3 支援使用 Sitespeed.io 這個開放原始碼軟體來模擬瀏覽器測試你專案的效能,使用容器(Container)的方式執行測試,測試後的結果會顯示在合併分支的頁面上。

瀏覽器效能測試 - Browser Performance Testing
瀏覽器效能測試 – Browser Performance Testing

 

[CE/EES/EEP] 在合併分支(Merge Request)時,可以對程式碼逐行進行討論

在 MR 的頁面,按底下的 Changes 就可以看到本次的變更,你可以針對每一行程式碼進行相關討論,只要在程式碼的左邊按下對話方塊即可。

gitlab-discuss-when-mr

 

[CE/EES/EEP] 一張圖勝過千言萬語、支援 Mermaid 格式的流程圖

現在你可以在 commit 或討論的時候用畫圖的,不過這是一個很 Geek 的功能,因為類似用程式碼的方式來畫圖,格式是 Mermaid:官方網頁

gitlab-mermaid-1
Mermaid 格式畫出的圖
gitlab-mermaid-2
Mermaid 格式畫出的圖

 

 

[CE/EES/EEP] Pipeline 支援 Jobs 之間的相依性

當 CI/CD 在執行 Jobs 的時候後,一個 Job 可能會需要依照前一個 Job 所產生的結果來繼續執行,譬如要安裝專案之前一定要先完成專案編譯,若前一個 Job 失敗或是已經放太久,所需要的結果早就不見了,這時候就可以透過 dependencies 這個關鍵字建立相依性,請參考:GitLab Doc

其他更多功能請參考官方網頁:https://about.gitlab.com/2017/12/22/gitlab-10-3-released/

或是來信詢問:haway[at]rsync.tw

作者:HaWay – Gandi.net 技術傳教士



發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *