Toolverse
Wszystkie skille

worker-module-architecture

autor: TencentBlueKing

Architektura modułu Worker dla BK-CI — przewodnik po wykonywaniu zadań w agentach budowania

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
6

O skillu

Worker to kluczowy komponent wykonawcy budowania w BK-CI, działający na maszynach budowania (Agent). Zarządzaj wykonywaniem zadań potoku, raportowaniem logów, przesyłaniem artefaktów i cyklem życia Worker'a. Moduł łączy serwer CI ze środowiskiem budowania, obsługując trzy tryby: Docker (zasoby publiczne), Agent (maszyny własne) i Worker (zadania lekkie). Używaj go podczas rozwijania funkcji Worker'a, implementacji silnika wykonawczego wtyczek, obsługi dystrybucji zadań lub optymalizacji wydajności wykonawcy.

Jak używać

  1. Zapoznaj się ze strukturą modułu Worker w katalogu src/backend/ci/core/worker/, gdzie znajdują się komponenty worker-agent (punkt wejścia), worker-common (biblioteka wspólna) i worker-api-sdk (implementacja SDK).

  2. Wybierz tryb budowania odpowiedni dla Twojego przypadku użycia: DOCKER dla publicznych pul zasobów budowania, AGENT dla własnych maszyn budowania lub WORKER dla lekkich zadań bez środowiska kompilacji.

  3. Zaimplementuj logikę wykonywania zadań, korzystając z klasy Runner (dla Docker/Agent) lub WorkRunner (dla maszyn trzecich stron) z pakietu worker-common, która stanowi rdzeń frameworku wykonawczego.

  4. Skonfiguruj zarządzanie zmiennymi środowiskowymi i kontekstem budowania za pomocą modułu env/ oraz zaimplementuj obsługę logów poprzez logger/, który zbiera i raportuje logi do serwisu Log.

  5. Dodaj obsługę artefaktów budowania, wykorzystując moduł archive/ do przesyłania produktów budowania do biblioteki artefaktów oraz moduł atom/ do pobierania i wykonywania wtyczek ze sklepu deweloperskiego.

  6. Wdrażaj usługę heartbeat/ do regularnego wysyłania sygnałów życia do serwera, aby utrzymać stan budowania i zapewnić niezawodną komunikację między agentem a serwerem CI.

Podobne skille