dispatch-module-architecture
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ć
- 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 przezbiz-dispatch), kontenery Docker (przezbiz-dispatch-docker) lub pody Kubernetes (przezbiz-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łaszczajobquotaitpaqueue), 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 kataloguservice, zdefiniuj wyjątki wexception, a interfejsy API w moduleapi-dispatch. 5. Skonfiguruj zadania cykliczne w katalogucronjeś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.