Toolverse
Wszystkie skille

dispatch-module-architecture

autor: TencentBlueKing

Architektura modułu dyspozytora dla BK-CI — zarządzaj harmonogramem zadań budowania na maszynach, Dockerze i Kubernetesie.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Skill zawiera kompletny przewodnik architektury modułu Dispatch w systemie BK-CI. Moduł odpowiada za przyjmowanie zadań budowania z pipelinów i kierowanie ich do odpowiednich zasobów — maszyn budujących trzecich stron, kontenerów Docker lub podów Kubernetes. Dokumentacja obejmuje strukturę submodułów (API, logika biznesowa, modele danych), trzy główne typy dyspozycji (maszyny trzecich stron, Docker, Kubernetes), zarządzanie kolejkami zadań, alokację zasobów i strategie wyboru agentów. Użyj tego skilla gdy rozwijasz funkcje dyspozycji, konfigurujesz strategie harmonogramowania, obsługujesz alokację zasobów lub implementujesz nowe typy dyspozycji w BK-CI.

Jak używać

  1. Zapoznaj się ze strukturą modułu Dispatch w katalogu src/backend/ci/core/dispatch/ — zawiera on sześć głównych komponentów: warstwy API (api-dispatch, api-dispatch-docker, api-dispatch-kubernetes), warstwę logiki biznesowej (biz-dispatch, biz-dispatch-docker, biz-dispatch-kubernetes), komponenty wspólne Kubernetesa oraz moduł startowy Spring Boot. 2. Zidentyfikuj typ dyspozycji, który chcesz wdrożyć lub zmodyfikować — maszyny budujące trzecich stron (obsługiwane przez biz-dispatch), kontenery Docker (przez biz-dispatch-docker) lub pody Kubernetes (przez biz-dispatch-kubernetes). 3. Przejrzyj strukturę wybranego modułu biznesowego: warstwa kontrolerów implementuje interfejsy REST API, warstwa usług zawiera logikę harmonogramowania i zarządzania kolejkami (zwłaszcza jobquota i tpaqueue), warstwa dostępu do danych (dao) komunikuje się z bazą danych. 4. Dla nowych typów dyspozycji lub strategii harmonogramowania rozszerz odpowiedni moduł biznesowy — dodaj nowe serwisy w katalogu service, zdefiniuj wyjątki w exception, a interfejsy API w module api-dispatch. 5. Skonfiguruj zadania cykliczne w katalogu cron jeśli potrzebujesz okresowego monitorowania lub czyszczenia kolejek. 6. Przetestuj przepływ poprzez API — zadania powinny przechodzić przez stany (QUEUE → RUNNING → DONE) i być kierowane do prawidłowych zasobów na podstawie skonfigurowanych strategii dyspozycji.

Podobne skille