如何使用極狐GitLab 的外部狀態檢查功能?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有:

  • 極狐GitLab 中文文檔
  • 極狐GitLab 中文論壇
  • 極狐GitLab 官網

外部狀態檢查 (ULTIMATE ALL)

  • pending 狀態引入于極狐GitLab 16.5

  • pending 狀態檢查的超時時間為兩分鐘引入于極狐GitLab 16.6。

狀態檢查是向外部系統發出的API調用,目的是請求外部要求的狀態。

您可以創建一個狀態檢查,將合并請求數據發送到第三方工具。當用戶創建、更改或關閉合并請求時,極狐GitLab 會發送通知。用戶或自動化工作流可以在極狐GitLab 之外更新合并請求的狀態。

通過此集成,您可以與第三方工作流工具(如 ServiceNow 或您選擇的自定義工具)進行集成。第三方工具響應一個相關的狀態。該狀態將作為非阻塞小部件顯示在合并請求中,顯示該狀態下合并請求的作者或審閱者,直接在合并請求級別。

您可以為每個單獨的項目配置合并請求狀態檢查。這些設置在項目之間不共享。

如果狀態檢查在兩分鐘內仍處于 pending 狀態,則會失敗。

限制合并請求的合并,除非所有狀態檢查已通過

  • 引入于極狐GitLab 15.5 通過一個標志 名為 only_allow_merge_if_all_status_checks_passed。默認禁用。
  • 在 JihuLab.com 啟用于 GitLab 15.8。
  • 在私有化部署版本中啟用,并且功能標志已移除于極狐GitLab 15.9。

默認情況下,即使外部狀態檢查失敗,項目中的合并請求也可以被合并。要阻止外部檢查失敗時合并合并請求:

1.在左側邊欄中,選擇 搜索或轉到 并找到您的項目
2.選擇 設置 > 合并請求
3.選中 狀態檢查必須成功 復選框。
4.選擇 保存更改

生命周期

外部狀態檢查有一個 異步 工作流。每當合并請求被更新、關閉、重新打開、批準、取消批準或合并時,合并請求都會向外部服務發送一個合并請求的 Webhook 負載。

當合并請求被更新、關閉、重新打開、批準、取消批準或合并時。
當代碼被推送到合并請求的源分支時。

sequenceDiagram
Merge request->>+External service: Merge request payload
External service-->>-Merge request: Status check response
Note over External service,Merge request: Response includes SHA at HEAD

當接收到有效負載時,外部服務可以運行所需的過程,然后使用 REST API 將其響應發布回合并請求。

如果響應未指向當前源分支的 HEAD 提交,合并請求將返回 409 Conflict 錯誤。因此,外部服務可以安全地處理并響應過時的提交。
外部狀態檢查有以下狀態:

  • pending - 默認狀態。合并請求尚未收到外部服務的響應。

  • passed - 已收到外部服務的響應,并且該響應已被批準。

  • failed - 已收到外部服務的響應,并且該響應已被拒絕。

如果在 GitLab 之外發生更改,您可以使用 API 設置外部狀態檢查的狀態。您無需等待先發送合并請求的 Webhook 有效負載。

查看狀態檢查服務

要查看添加到項目中的狀態檢查服務列表,您可以通過合并請求設置進行查看:

1.在左側邊欄中,選擇 搜索或跳轉 并找到您的項目。
2.選擇 設置 > 合并請求
3.向下滾動到 狀態檢查。此列表顯示了服務名稱、API URL、目標分支以及 HMAC 身份驗證狀態。
在這里插入圖片描述

您還可以通過 分支規則 設置查看狀態檢查服務列表。

添加或更新狀態檢查服務

添加狀態檢查服務

狀態檢查 子部分中,選擇 添加狀態檢查 按鈕。然后會顯示 添加狀態檢查 表單。
在這里插入圖片描述

填寫表單并選擇 添加狀態檢查 按鈕后,將創建一個新的狀態檢查。

更新狀態檢查服務

狀態檢查 子部分中,選擇您想編輯的狀態檢查旁邊的 編輯 ({鉛筆})。然后會顯示 更新狀態檢查 表單。

NOTE:您無法查看或修改 HMAC 共享密鑰的值。要更改共享密鑰,您需要刪除并使用新值重新創建外部狀態檢查。

更改表單中的值并選擇 更新狀態檢查 按鈕即可更新狀態檢查。

表單值

有關常見表單錯誤,請參見下面的 故障排除 部分。

服務名稱

此名稱可以是任何字母數字值,必須 設置。名稱 必須 對項目唯一。
該名稱 必須 對項目唯一。

檢查 API

此字段需要一個 URL,必須 使用 HTTP 或 HTTPS 協議。
我們 推薦 使用 HTTPS 來保護合并請求數據的傳輸。
URL 必須 設置并且 必須 對項目唯一。

目標分支

如果您想將狀態檢查限制為單個分支,可以使用此字段來設置此限制。
在這里插入圖片描述

分支列表來自項目的 保護分支。

您可以滾動瀏覽分支列表,或者在有很多分支且您要找的分支未立即出現時使用搜索框。搜索框需要輸入 三個 字符來開始搜索。

如果您希望狀態檢查適用于 所有 合并請求,您可以選擇 所有分支 選項。

HMAC 共享密鑰

HMAC 身份驗證可以防止請求篡改,并確保它們來自合法來源。

刪除狀態檢查服務

狀態檢查 子部分中,選擇您想刪除的狀態檢查旁邊的 移除 ({移除})。然后會顯示 刪除狀態檢查? 模態框。
在這里插入圖片描述

要完成狀態檢查的刪除,您必須選擇 移除狀態檢查 按鈕。此操作 永久 刪除狀態檢查,且 不可恢復

狀態檢查小部件

  • 極狐GitLab 15.2 更新了 UI 更新。
  • 極狐GitLab 15.8 添加了重試失敗的外部狀態檢查功能。
  • 極狐GitLab 15.11 更新了小部件更新,以在狀態檢查待定時輪詢更新。

狀態檢查小部件顯示在合并請求中,顯示以下狀態:

  • 待定 ({狀態中立}),表示 GitLab 等待來自外部狀態檢查的響應。

  • 成功 ({狀態成功})失敗 ({狀態失敗}),表示 GitLab 收到來自外部狀態檢查的響應。

當存在待定的狀態檢查時,小部件會每隔幾秒輪詢更新,直到收到 成功失敗 響應。

要重試失敗的狀態檢查:

1.在左側邊欄中,選擇 搜索或跳轉 并找到您的項目。
2.選擇 代碼 > 合并請求 并找到您的合并請求。
3.向下滾動到合并請求報告部分,展開下拉列表顯示外部狀態檢查列表。
4.在失敗的外部狀態檢查行上選擇 重試 ({重試})。該狀態檢查將恢復為待定狀態。

一個組織可能有不允許在外部狀態檢查不通過時合并合并請求的政策。然而,小部件中的詳細信息僅供參考。

NOTE:極狐GitLab 無法保證外部狀態檢查由相關的外部服務正確處理。

故障排除

重復值錯誤
名稱已被占用
---
外部 API 已被另一個狀態檢查使用

對于每個項目,狀態檢查只能使用一次名稱或 API URL。

這些錯誤意味著該項目的狀態檢查中,名稱或 API URL 已經被使用。

您必須選擇不同的值用于當前的狀態檢查,或者更新現有狀態檢查中的值。

無效的 URL 錯誤
請提供有效的url

API to check 字段要求提供的 URL 必須使用 HTTP 或 HTTPS 協議。
您必須更新該字段的值以滿足此要求。

獲取或搜索分支時的錯誤
無法獲取分支列表,請關閉表單并再次嘗試。

從外部狀態檢查 API 收到意外的響應。

您可以嘗試以下操作:

  • 刷新頁面,以防此錯誤是暫時性的。
  • 如果問題持續存在,請檢查 GitLab 狀態頁面,查看是否存在更廣泛的故障。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78277.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78277.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78277.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入探索Spark-Streaming:從Kafka數據源創建DStream

在大數據處理領域,Spark-Streaming是一個強大的實時流處理框架,而Kafka作為高性能的分布式消息隊列,二者結合能實現高效的數據處理。今天就來聊聊Spark-Streaming中從Kafka數據源創建DStream的相關知識。 早期,Spark-Streaming通過…

Kafka 詳解

1.基本概念:Kafka 是分布式發布 - 訂閱消息系統,具有高吞吐量、可擴展性等優勢,支持點對點和發布訂閱兩種消息模式,涉及 Broker、Topic、Partition 等多種角色。 2.安裝步驟:需先安裝 JDK 和 Zookeeper,下…

uniapp-商城-34-shop 購物車 選好了 進行訂單確認整體

在shop頁面選中商品添加到購物車&#xff0c;可選好后&#xff0c;進行確認和支付。具體呈現在shop頁面。 1 購物車欄 shop頁面代碼&#xff1a; 購物車代碼&#xff1a; 代碼&#xff1a; <template><view><view class"carlayout"><!-- 車里…

數據倉庫是什么?數據倉庫架構有哪些?

目錄 數據倉庫是什么&#xff1f;數據倉庫架構有哪些&#xff1f; 一、數據倉庫是什么&#xff1f; 二、數據倉庫的架構分層 1. 獲取層 2. 數據層 3. 應用層 4. 訪問層 三、數據倉庫的價值體現 1.決策支持 2.業務優化 3.提升競爭力 四、數據倉庫的未來發展趨勢 總…

單片機——使用printf調試

配置printf()輸出函數 1、來自于<stdio.h> 2、運行C語言時&#xff0c;輸出到終端 3、單片機沒有終端&#xff0c;需要使用串口&#xff0c;將要輸出的內容傳到電腦&#xff08;串口調試助手&#xff09;上 例子如下 #include <stdio.h> #include &qu…

人臉識別考勤系統實現教程:基于Face-Recognition、OpenCV與SQLite

引言 隨著人工智能技術的飛速發展&#xff0c;人臉識別技術已廣泛應用于安防、金融、教育等多個領域。本文將帶領大家利用Python的face-recognition庫、OpenCV和SQLite數據庫&#xff0c;從零開始構建一個具備異常報警功能的人臉識別考勤系統。該系統能夠實時檢測視頻流中的人…

親測成功???Linux下編譯opencv-4.10.0(靜態鏈接庫和動態鏈接庫)

1. 安裝依賴 在編譯之前&#xff0c;確保系統中安裝了必要的依賴工具和庫。運行以下命令安裝&#xff1a; sudo apt update sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config sudo apt-get install libavcodec-dev libavforma…

windows 部署Prometheus+Node-expoter

Prometheus v3.2.1 離線部署方式 通過helm部署prometheus會自動部署Node-expoter只需要添加prometheus的抓取規則&#xff01;&#xff01; 刪除&#xff1a; 清除之前安裝的 Prometheus 如果你之前已經安裝了 Prometheus&#xff0c;需要清除原有的 Prometheus 安裝&#xf…

HTMLCSS實現網頁輪播圖

網頁中輪播圖區域的實現與解析 在現代網頁設計中&#xff0c;輪播圖是一種常見且實用的元素&#xff0c;能夠在有限的空間內展示多個內容&#xff0c;吸引用戶的注意力。下面將對上述代碼中輪播圖區域的實現方式進行詳細介紹。 一、HTML 結構 <div class"carousel-c…

Linux:進程的概念

基本概念 課本概念&#xff1a;程序的一個可執行實例&#xff0c;正在執行的程序。 內核觀點&#xff1a;擔當分配系統資源實體。 當操作系統要執行程序時&#xff0c;也就是說操作系統要執行代碼&#xff0c;但一個操作系統需要執行多個程序&#xff0c;而CPU只有一塊&#xf…

前端基礎之《Vue(10)—過濾器》

一、過濾器 1、作用 用于數據處理。 2、全局過濾器 使用Vue.filter(名稱, val>{return newVal})定義。 在任何組件中都可以直接使用。 3、局部過濾器 使用選項&#xff0c;filters: {}定義&#xff0c;只能在當前組件中使用。 4、過濾器在Vue 3.0中已經淘汰了 5、過濾器…

平板電腦做歐盟網絡安全法案(EU)2022/30

平板電腦做歐盟網絡安全法案&#xff08;EU&#xff09;2022/30 平板電腦做EN18031,平板電腦做無障礙法規EU2019/882 歐盟委員會于2022年通過補充授權法案 &#xff08;EU&#xff09; 2022/30&#xff0c;明確要求無線電設備需滿足網絡安全、隱私保護及反欺詐要求。 新規時間軸…

Unity中打可選擇的AssetBundle,以及URP中加載AssetBundle包Shader丟失問題顯示洋紅色的解決方案

在上一篇打AssetBundle中已經實現了簡單的打AB包和加載,《Unity中打包AssetBundle并加載》,本篇筆記是進一步上一篇最后提出的問題,進行優化。 一、打可選擇的AssetBundle 每次打包都會把設置了AssetBundle名稱和后綴的所有文件都打包,這也是現在網上教學最多的 但是有時…

解決cannot find attribute `serde` in this scope記錄

問題描述&#xff1a; 在Rust中使用serde做json序列化&#xff0c;需要對一個字段指定序列化方法&#xff0c;添加serde注解后報錯: error: cannot find attribute serde in this scope --> src\models\order_model.rs:38:7 | 38 | #[serde(deserialize_with &qu…

基于whisper和ffmpeg語音轉文本小程序

目錄 一、環境準備 ? 第一步&#xff1a;安裝并準備 Conda 環境 ? 第二步&#xff1a;創建 Whisper 專用的 Conda 虛擬環境 ? 第三步&#xff1a;安裝 GPU 加速版 PyTorch&#xff08;適配 RTX 4060&#xff09; ? 第四步&#xff1a;安裝 Whisper 和 FFMPEG 依賴 ?…

Linux GPIO驅動開發實戰:Poll與異步通知雙機制詳解

1. 引言 在嵌入式Linux開發中&#xff0c;GPIO按鍵驅動是最基礎也最典型的案例之一。本文將基于一個支持poll和異步通知雙機制的GPIO驅動框架&#xff0c;深入剖析以下核心內容&#xff1a; GPIO中斷與防抖處理環形緩沖區設計Poll機制實現異步通知(SIGIO)實現應用層交互方式 …

【最新版】西陸健身系統源碼全開源+uniapp前端

一.系統介紹 一款基于UniappThinkPHP開發健身系統&#xff0c;支持多城市、多門店&#xff0c;包含用戶端、教練端、門店端、平臺端四個身份。有團課、私教、訓練營三種課程類型&#xff0c;支持在線排課。私教可以通過上課獲得收益&#xff0c;在線申請提現功能&#xff0c;無…

濟南國網數字化培訓班學習筆記-第二組-6-輸電線路現場教學

輸電線路現場教學 桿塔組裝 角鋼塔 角鋼-連扳-螺栓 螺栓&#xff08;M&#xff09;&#xff1a; 腳釘-螺栓&#xff08;螺栓頭-無扣長-螺紋-螺帽&#xff09;-墊片-螺帽/防盜帽/防松帽M20*45 表示直徑20mm&#xff0c;長度45mm螺栓級別由一個類似浮點數表示&#xff0c;如…

抖音的逆向工程獲取彈幕(websocket和protobuf解析)

目錄 聲明前言第一節 獲取room_id和ttwid值第二節 signture值逆向python 實現signature第三節 Websocket實現長鏈接請求protubuf反序列化pushFrame反序列化Response解壓和反序列化消息體Message解析應答ack參考博客聲明 本文章中所有內容僅供學習交流使用,不用于其他任何目的…

反射,枚舉,lambda表達式

目錄 反射枚舉的使用Lambda表達式函數式接口語法Lambda表達式語法精簡 變量捕獲Lambda在集合List中的使用 反射 作用&#xff1a;在Java代碼中&#xff0c;讓一個對象認識到自己 比如一個類的名字&#xff0c;里面的方法&#xff0c;屬性等 讓程序運行的過程&#xff0c;某個對…