本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接 GitLab
GitLab 整合可讓 AWS DevOps 代理程式從 GitLab 管道監控部署,以在事件回應期間通知因果調查。此整合遵循兩個步驟:GitLab 的帳戶層級註冊,接著將特定專案連線至個別的 Agent Spaces。
註冊 GitLab (帳戶層級)
GitLab 已在 AWS 帳戶層級註冊,並在該帳戶中的所有客服人員空間之間共用。每個註冊都會連結到一個 GitLab 使用者或一個 GitLab 群組。
步驟 1:導覽至管道供應商
登入 AWS 管理主控台
導覽至 AWS DevOps 代理程式主控台
前往能力提供者頁面 (可從側邊導覽存取)
在管道下的可用供應商區段中尋找 GitLab,然後選擇註冊
步驟 2:設定 GitLab 連線
在 GitLab 註冊頁面上,設定下列項目:
連線類型 – 選取您是以個人或群組身分連線:
個人 (預設) – 具有使用者名稱和設定檔的個別 GitLab 使用者帳戶
群組 – 在 GitLab 中,您可以使用群組來同時管理一或多個相關專案
GitLab 執行個體類型 – 選擇您要連接的 GitLab 執行個體類型:
GitLab.com (預設) – 公有 GitLab 服務
GitLab 自我管理 – 勾選使用 GitLab 自我託管端點方塊,並將 URL 提供給 GitLab 執行個體
GitLab 自我管理的私有連線
使用私有連線連線至端點 – 如果您的 GitLab 自我管理執行個體無法透過公有網際網路連線,請選取此選項,讓 AWS DevOps 代理程式透過與 VPC 的私有連線進行連線。在註冊 GitLab 之前建立私有連線,然後在此處選取現有的連線。如需詳細資訊,請參閱連線至私有託管工具。
存取字符 – 提供 GitLab 個人存取字符:
在單獨的瀏覽器索引標籤中,登入您的 GitLab 帳戶
導覽至您的使用者設定,然後選取存取字符
使用下列許可建立新的個人存取字符:
read_repository– 存取儲存庫內容時需要read_virtual_registry– 存取虛擬登錄檔資訊時需要read_registry– 存取登錄檔資訊時需要api– 讀取和寫入 API 存取時需要self_rotate- 輪換權杖時需要。 AWS DevOps 代理程式目前不支援此功能,但稍後會支援此功能。立即新增 可避免未來需要建立新的權杖。
將字符過期設定為從目前日期起算最多 365 天
複製產生的字符
返回 AWS DevOps 代理程式主控台
將字符貼到「存取字符」欄位中
步驟 3:完成註冊
(選用) 標籤 – 將 AWS 標籤新增至 GitLab 註冊以用於組織用途。
選擇下一步以檢閱您的組態,然後選擇提交以完成 GitLab 註冊程序。系統會驗證您的存取權杖並建立連線。
將專案連線至 代理程式空間
在帳戶層級註冊 GitLab 之後,您可以將特定專案連線到個別的 Agent Spaces:
在 AWS DevOps 代理程式主控台中,選取您的代理程式空間
前往功能索引標籤
在管道區段中,選擇新增
從可用供應商清單中選取 GitLab
選取包含您要使用之專案的 GitLab 註冊
選取與您的客服人員空間相關的 GitLab 專案
選擇儲存
AWS DevOps 代理程式會監控這些專案的 GitLab Pipelines 部署,以通知因果調查。單一代理程式空間可以使用來自多個註冊的專案。若要從另一個註冊新增專案,請重複這些步驟。
設定程式碼檢閱和自動化測試
當您在 GitLab 連線步驟中選取專案時,專案會自動新增至程式碼檢閱和自動測試區段。本節設定哪些專案會自動觸發 發行準備度程式碼檢閱和自動化測試功能。
Code Review 和 Automated Testing 組態包括:
功能 — 為每個專案選擇程式碼檢閱和自動化測試功能。本節提供兩個每個專案的設定:
自動觸發變更檢閱 — 為專案啟用時,DevOps 代理程式發行準備度程式碼檢閱會在每次開啟或更新合併請求時自動執行 。檢閱問題清單會在合併請求上顯示為內嵌註解。根據預設,所有連線的專案都會啟用此功能。
自動化驗證測試 — 為專案啟用時,DevOps 代理程式會在程式碼檢閱期間,在受管驗證環境中建置、執行和測試您的程式碼變更。這可提供靜態分析以外的功能驗證。如需詳細資訊,請參閱自動化驗證測試。根據預設,所有連線的專案都會啟用此功能。
專案清單 — 顯示您在連線步驟中選取的所有專案。使用搜尋欄位依名稱篩選專案。每個專案都有兩個功能的獨立核取方塊。
執行期角色 (選用) — 選擇 DevOps 代理程式擔任的 IAM 角色,以在所選專案上執行自動化功能。此角色用於存取建置期間所需的內部服務,例如私有套件登錄檔和成品儲存系統。我們建議您使用與主要客服人員角色不同的角色。
若要設定自動檢閱:
連接專案後,導覽至 GitLab 整合設定中的程式碼檢閱和自動測試區段。
對於每個專案,根據您是否要自動合併請求檢閱,啟用或停用自動觸發變更檢閱功能。
對於每個專案,根據您是否希望在受管驗證環境中進行自動化驗證測試,啟用或停用自動化驗證測試功能。
或者,從執行期角色下拉式清單中選取 IAM 角色,DevOps 代理程式會在您選取的專案上執行自動化功能時擔任該角色。 DevOps
選擇儲存以套用您的組態。
設定完成後,啟用自動觸發變更檢閱之專案中的任何新合併請求都會自動觸發發行整備碼檢閱。如果也啟用自動驗證測試,則檢閱會在驗證環境中包含功能驗證。如需程式碼檢閱的詳細資訊,請參閱 發行準備度程式碼檢閱。
進階設定:觸發篩選條件
根據預設,已啟用自動觸發變更檢閱的專案會針對任何目標分支的每個適用的合併請求事件執行發行整備碼檢閱。使用進階設定來新增觸發篩選條件,確切控制每個專案執行自動檢閱的時間。
每個篩選條件都是結合了兩個條件的篩選條件群組:
目標分支 (必要) — 一或多個分支名稱或模式,輸入為規則運算式 (例如
main或release/.*)。只有在合併請求的目標分支符合其中一個模式時,審核才會觸發。觸發事件 (選用) — 觸發審核的合併請求事件:合併請求已準備好進行審核或合併請求已起草。將此保留空白,以符合所有適用的事件。
在篩選條件群組中,所有條件都必須相符 (AND)。您可以新增多個篩選群組,並在任何群組符合 (OR) 時建立檢閱觸發條件。
若要設定觸發篩選條件:
在連線流程中開啟進階設定區段。(若要變更現有連線的篩選條件,請在管道區段中選取連線,選擇編輯,然後開啟進階設定。)
尋找您要設定的專案,然後選取變更檢閱索引標籤。
選擇新增篩選條件群組,然後定義群組的條件:
在目標分支下,輸入分支名稱或模式,然後按 Enter 或選擇新增。重複 以新增更多模式。
(選用) 在觸發事件下,選取合併請求準備檢閱、合併請求起草,或同時選取兩者。將其保留空白,以符合所有事件。
(選用) 再次選擇新增篩選條件群組以表達替代條件。
選擇儲存以套用您的組態。
每個專案最多可定義 5 個篩選群組,每個群組最多可定義 20 個模式。每個模式都必須是最多 256 個字元的有效規則表達式。如果您未新增任何篩選條件群組, 會檢閱所有目標分支所有適用事件的觸發條件。
疑難排解
如需使用 GitLab Self-Managed 搭配私有連線時的 DNS、網路連線能力、安全群組或 TLS 錯誤,請參閱 對私有連線進行故障診斷。
有些專案不會顯示在專案清單中
徵狀
您可以成功註冊 GitLab,但您希望連線的一或多個專案不會出現在專案清單中。
原因
對於個人連線, AWS DevOps 代理程式會列出存取字符的使用者為成員的專案。如果使用者不是成員,即使使用者可以透過另一個 GitLab 存取路徑檢視專案,也不會顯示專案。
解決方案
確認存取權杖的使用者是您要連線的每個專案的成員。
確認字符尚未過期,並包含步驟 2:設定 GitLab 連線中列出的範圍。
變更專案成員資格或取代權杖後,請重新整理專案清單。
無法連接 GitLab 專案
徵狀
使用 GitLab project '<path>' (ID: <id>) is not accessible to this GitLab token.或 連線專案失敗 GitLab is currently throttling requests (HTTP 429). Please retry the association later.
原因
字符無法讀取選取的專案,或 GitLab 正在暫時調節專案驗證請求。
解決方案
確認字符有效,且其使用者或群組可存取選取的專案。
確認字符包含步驟 2:設定 GitLab 連線的必要範圍。
如果 GitLab 傳回 HTTP 429,請等待並重試關聯。
管理 GitLab 連線
更新存取權杖 – 如果您的存取權杖過期或需要更新,您可以將其輪換而不取消註冊。在能力提供者頁面上,選取您的 GitLab 註冊,從動作功能表中選擇更新,然後輸入新的字符。您的 Agent Space 關聯和專案連線會保留。
檢視連線的專案 – 在 AWS DevOps 代理程式主控台中,選取您的代理程式空間,然後前往功能索引標籤,在管道區段中檢視連線的專案。
移除 GitLab 連線 – 若要中斷 GitLab 專案與客服人員空間的連線,請在管道區段中選取連線,然後選擇移除。若要完全移除 GitLab 註冊,請先將其從所有 Agent Spaces 中移除,然後在帳戶層級刪除註冊。