極狐GitLab 正式釋出最新版本 17.6

极狐GitLab發表於2024-11-26

沿襲我們的月度釋出傳統,極狐GitLab 釋出了 17.6 版本,該版本帶來了增強的合併請求稽核者指派、在部署詳情頁面顯示版本註釋、在部署詳情頁面顯示版本註釋等幾十個重點功能的改進。下面是部分重點功能的詳細解讀。

關於極狐GitLab 的安裝升級,可以檢視官方指導文件

  • 17.6 容器映象
registry.gitlab.cn/omnibus/gitlab-jh:17.6.0-jh.0
  • 17.6 Helm Chart
helm search repo gitlab-jh
NAME                       CHART VERSION    APP VERSION    
gitlab-jh/gitlab           8.6.0            v17.6.0        
gitlab-jh/gitlab-runner    0.71.0           17.6.0         

極狐GitLab 17.6 重要改進

增強的合併請求稽核者指派

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

在你仔細完成變更並準備好合併請求後,下一步就是要確認一個能幫你將流程向前推進的稽核者。確認合適的稽核者涉及到多個因素,諸如需要了解誰才是正確的稽核者以及誰是你變更程式碼的 CODEOWNER。

現在,當指派稽核者時,側邊欄上就會為你的合併請求稽核要求和稽核者之間建立一個連線,從而方便檢視每個稽核規則,然後從滿足審批規則要求的人員裡面為你選擇合適的稽核人員。如果你在使用可選的 CODEOWNER 部分,這些規則也會顯示在側邊欄中,以幫助你識別變更所屬的 CODEOWNER。

增強的合併請求稽核者指派功能是極狐GitLab 將智慧化引入稽核者指派的一個重大改進。此次迭代建立在我們從建議的稽核者上所學到的內容,以及如何識別最好的程式碼稽核者來將合併請求向前推進。在程式碼稽核者指派即將到來的迭代中,我們將持續強化智慧化推薦和可能的稽核者排行榜。

在部署詳情頁面顯示版本註釋

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

您是否也曾經有過疑問:在您被要求審批的部署當中究竟包含了些什麼?在過去的版本中,可以建立一個關於變更內容和測試指南的詳情頁面,但是相關的環境部署卻不會顯示這些資料。我們很高興地宣佈,現在極狐GitLab 可以在相關部署詳情頁面的下方顯示版本註釋了。

因為極狐GitLab 版本通常是從某個 Git tag 建立的,因此版本註釋僅在與 tag 觸發的流水線相關的部署上顯示。

強化 CI/CD 作業令牌等候列表的管理員設定

標題 基礎版 專業版 旗艦版
SaaS
私有化部署 Y Y Y

之前,我們宣佈預設的 CI/CD 作業令牌(CI_JOB_TOKEN)行為將在 18.0 發生變化,如果你想繼續訪問你的專案,就需要將單個專案或群組新增到專案作業令牌等候列表中。

現在,我們正在賦予私有化部署管理員在極狐GitLab 例項的所有專案上強制執行這種更安全設定的能力。當開啟此設定後,如果所有專案需要用 CI/CD 作業令牌進行認證就需要使用它們的等候列表。注意:我們強烈建議將啟用此設定作為強大安全策略的一部分。

追蹤 CI/CD 作業令牌認證

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

以前,很難追蹤其他專案是否透過使用 CI/CD 作業令牌進行身份驗證來訪問您的專案。為了讓你能夠更加容易地對專案進行審計和訪問控制,我們還增加了認證日誌。

有了認證日誌,你就可以檢視那些已經使用作業令牌來對你的專案進行認證的列表了,此列表可以在 UI 上檢視,也可以下載成 CSV 檔案。

這些資料可以用來審計專案訪問情況,並有助於填充作業令牌允許列表,從而加強對可以訪問你所屬專案的控制。

漏洞報告群組

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

使用者需要能夠檢視群組中漏洞。這將幫助安全分析師利用批次操作來最佳化他們的任務分類。此外,使用者可以看到在他們的群組中有多少漏洞,即存在多少 OWASP Top 10 漏洞?

模型倉庫已經正式可用

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

極狐GitLab 的模型倉庫現已正式可用!模型倉庫作為極狐GitLab 工作流的一部分,是一個用來管理機器學習模型的集中式 Hub。你可以追蹤模型版本、儲存製品和後設資料以及在模型卡片中維護詳盡的文件。

為了構建無縫整合,模型倉庫能夠天然和 MLflow 客戶端良好工作,而且能夠直接連線到你的 CI/CD 流水線,讓模型部署和測試自動化。資料科學家可以透過一個直觀的 UI 或使用既有的 MLflow 工作流來管理模型,同時 MLOps 團隊可以使用語義化版本控制和 CI/CD 整合,透過極狐GitLab API 來簡化生產的部署。

在極狐GitLab 例項上透過部署 > 模型倉庫開始使用此功能吧!

新的 SAST 和 DAST 安全掃描器的合規性檢查

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

極狐GitLab 提供了一系列的安全掃描器,諸如 SAST、金鑰檢測、依賴項掃描、容器映象掃描以及其他的,以便你可以檢視你的應用程式安全漏洞。

你需要有一種方法來向審計員和相關合規機構展示你的應用程式已經遵守了要求為程式碼庫設定安全掃描器的監管標準。

為了幫助你展示對這些標準的遵守,此版本新增了兩個新的檢查,作為合規中心中標準合規性報告的一部分。這些新的檢查會檢查在群組內是否開啟了 SAST 和 DAST。這些檢查確認 SAST 和 DAST 安全掃描器能夠在專案中正確執行,並且流水線結果具有正確的結果製品。

極狐GitLab 17.6 的其他改進

群組 webhook 的群組事件

標題 基礎版 專業版 旗艦版
SaaS Y Y
私有化部署 Y Y

在此版本中,我們已經為群組 webhook 新增了專案事件。當以下事件發生的時候就會觸發專案事件:

  • 群組中增加了專案。
  • 群組中刪除了專案。

這些事件僅針對群組 webhook 進行觸發。

在任意 CI/CD 作業中部署 Pages 站點

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

為了給你的流水線設計提供更多靈活性,你無需將你的 Pages 部署作業命名為 pages。現在你只需要在任意 CI/CD 作業中使用 pages屬性就可以觸發 Pages 的部署了

極狐GitLab Runner 17.6

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

我們還發布了極狐GitLab Runner 17.5。極狐GitLab Runner 是一個輕量級、高擴充套件的代理,用來執行你的 CI/CD 作業並且將結果傳送回極狐GitLab 例項。極狐GitLab Runner 和極狐GitLab CI/CD 繫結在一起,而極狐GitLab CI/CD 是一個開源且內建在極狐GitLab 裡面的服務。

修復的缺陷:

  • 在極狐GitLab Runner 17.5.0 中,pod 變得無法 attach。
  • 當安裝 fleeting 外掛時,Runner 出現錯誤 exec format error並崩潰。
  • 開啟了 cgroup v2 的 Kubernetes 執行器在發生 OOMKilled 的時候被掛起。
  • 當使用配置模板註冊 Runner 時未使用 Runner 的預設配置。
  • 在使用 exec 模式時,極狐GitLab Runner 會在輪詢期間等待 Kubernetes Pod 變成 attach。
  • 當開啟 FF_GIT_URLS_WITHOUT_TOKENS功能開關時會出現認證錯誤。

macOS Sequoia 15 and Xcode 16 作業映象

標題 基礎版 專業版 旗艦版
SaaS Y Y
私有化部署

現在,你可以使用 macOS Sequoia 15 和 Xcode 16 來為最新一代的蘋果裝置建立、測試和部署應用程式。極狐GitLab 託管的 macOS runner 能夠幫助你的研發團隊在一個安全、和極狐GitLab CI/CD 整合的按需構建環境上更快速地構建和部署 macOS 應用程式。

在 .gitlab-ci.yml中使用 macos-15-xcode-16映象就可以開啟使用了。

在 CI/CD 作業中為某個環境選擇極狐GitLab 代理

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

為了使用 Kubernetes 儀表盤,你需要從環境設定中為 Kubernetes 連線選擇一個代理。直到現在,你僅可以從 UI 或者透過 API(從極狐GitLab 17.5)來選擇代理。在極狐GitLab 17.6 中,你可以用 environment.kubernetes.agent語法來配置代理連線。

在專案中透過 API 開啟金鑰推送保護

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

現在,以程式設計方式開啟金鑰推送保護變得更加容易。我們已經更新了應用程式設定的 REST API,以允許你:1. 在私有化部署例項上開啟此功能以便它可以在每個專案上都能被開啟。2. 檢查該功能在專案上是否被開啟。3. 為某個特定專案開啟此功能。

在 CycloneDX SBOM 支援許可證資料

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

現在,許可證掃描器已經有能力從包含支援的軟體包型別的 CycloneDX SBOM 中消費依賴項的許可證了。

在這種情況下,如果 CycloneDX SBOM 中存在 license欄位,使用者就能夠從他們的 SBOM 中看到許可證資料。如果 SBOM 中缺少許可證資訊,那麼我們就會從許可證資料庫中提高該資訊。

針對特權操作的審計事件

標題 基礎版 專業版 旗艦版
SaaS
私有化部署 Y Y Y

現在有額外的審計事件用於記錄與特權設定相關的管理員操作。這些設定的變更記錄透過提供審計追蹤的方式來提高安全性。

來自新位置的登入電子郵件中包含更多資訊

標題 基礎版 專業版 旗艦版
SaaS
私有化部署 Y Y Y

當檢測到在新位置登入時,極狐GitLab 可以選擇性地傳送一封電子郵件。之前,此郵件只包含 IP 地址,這很難確認準確位置。現在,該郵件會包含城市和國家的地理位置資訊。

服務賬戶徽章

標題 基礎版 專業版 旗艦版
SaaS Y Y
私有化部署 Y Y

現在,服務賬號有了專門的徽章,而且能夠在使用者列表中很輕易地就識別它們。之前,那些賬號僅有 bot徽章,這讓和群組、專案訪問令牌之間的識別變得異常困難。

從檢視中更容易地移除關閉的條目

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

現在你可以透過關閉展示關閉條目開關來從被連結的的或者子條目列表中隱藏掉已關閉的條目。透過這個新增功能,你可以更好地控制你的檢視,並在減少複雜專案中視覺混亂的同時專注於活躍的工作。

在設定的日期和時間合併

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

有些合併請求或許需要在某個特定的日期或者時間之後進行合併。當過了那個時間後,你需要找到有許可權的人來進行合併,而且還得期望他們能夠給你很好的處理這些合併請求。如果這發生在非工作時間或者關鍵的時間線,你可能需要提前很久就要為這項工作做好準備。

現在,當你建立或編輯合併請求時,你可以指定 merge after日期。此日期將被用來阻止合併請求被合併,直到過了該規定日期。將此功能和我們之前釋出的自動化合並改進功能一起使用,將為你的合併請求操作提供更多的靈活性。

JaCoCo 測試覆蓋率視覺化現已正式可用

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

現在你可以在合併請求差異檢視中直接看到 JaCoCo 測試覆蓋率。此檢視能夠讓你快速識別哪些程式碼行被測試用例覆蓋到了,哪些行還需要被測試用例覆蓋到才能進行合併。

glab agent command 命令增加了對自定義值的支援

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

在上一個版本中,我們為極狐GitLab 命令列工具增加了更容易的代理啟動功能。該版本進一步改善了 glab cluster agent bootstrap 命令,增加了對於自定義 Helm 值的支援。你可以使用 --helm-release-values和 --helm-release-values-from標誌來自定義生成的 HelmRelease資源。

使用 EPSS 進行高效的風險優先順序排序

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

在極狐GitLab 17.6 中,我們增加了對於漏洞利用預測評分系統(EPSS)的支援。EPSS 給每一個 CVE 打一個 0~1 之間的分值,以顯示該 CVE 在未來 30 天被利用的可能性。你可以利用 EPSS 來更好的優先排序掃描結果,而且能夠幫助你對環境上安全漏洞的潛在風險進行評估。

組成成分分析使用者可以透過 GraphQL 獲得這些資料。

金鑰推送保護使用例外時的審計事件

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

現在,當金鑰推送保護例外被應用的時候,就會記錄審計事件。這使得安全團隊能夠審計和跟蹤任何當專案排除列表中的秘密被允許推送時的情況。

阻止對群組受保護分支的修改

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

當合並請求批准策略配置為防止群組分支修改時,策略就需要考慮為群組配置的受保護分支。此項設定能夠確保頂級群組的分支保護不可以被取消保護。受保護分支能夠限制一些特定的操作,比如刪除分支以及強制推送到分支。你可以透過新的 approval_settings.block_group_branch_modification屬性覆蓋這種行為,併為特定的頂級群組宣告例外,以允許群組所有者在必要時臨時修改受保護分支。

此項新的專案覆蓋設定確保了群組受保護分支設定不能給修改以規避安全和合規要求,並確保更穩定地執行受保護分支。

獨立禁用 OTP 認證器和 WebAuth 裝置

標題 基礎版 專業版 旗艦版
SaaS Y Y Y
私有化部署 Y Y Y

現在單獨或者同時禁止 OTP 認證器或 WebAuth 裝置已經變得可行。之前,如果你禁用了 OTP 認證器,WebAuth 裝置也會被禁用。因為現在兩者的操作是獨立的,這就讓針對這些認證方法的管控更細粒度。

當合並請求被合併時生成新的審計事件

標題 基礎版 專業版 旗艦版
SaaS Y
私有化部署 Y

在此版本中,當合並請求被合併時,會生成一個新的且名為 merge_request_merged的審計事件,該審計事件會包含關於合併請求的一些關鍵資訊,包括:

  • 合併請求的標題
  • 合併請求的描述或總結
  • 合併需要多少稽核
  • 合併已經被賦予了多少稽核
  • 哪個使用者批准了該合併請求
  • 提交中是否批准了合併請求
  • 合併的日期/時間
  • 從提交歷史獲取的 SHA 列表

頂級群組擁有者可以建立服務賬號

標題 基礎版 專業版 旗艦版
SaaS
私有化部署 Y Y Y

當前只有管理員可以在私有化部署例項上建立服務賬號。現在,有了一個允許頂級群組擁有者建立服務賬號的可選設定。這可以讓管理員選擇是否希望允許更廣泛的角色建立服務賬戶,或者將其保留為僅管理員任務。

使用 API 獲取令牌資訊

標題 基礎版 專業版 旗艦版
SaaS
私有化部署 Y Y Y

管理員可以使用心得令牌資訊 API 來獲取個人訪問令牌、部署令牌以及 feed 令牌資訊。不像其他能夠暴露令牌資訊的 API,此端點允許管理員獲取令牌資訊但是卻無法獲知令牌的型別。

相關閱讀

  • GitLab 專業升級服務

本文由部落格群發一文多發等運營工具平臺 OpenWrite 釋出

相關文章