Toolverse
Wszystkie skille

pipeline-variable-management

autor: TencentBlueKing

Zarządzaj zmiennymi w potokach CI/CD — od tworzenia po debugowanie

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Skill do pełnego zarządzania zmiennymi w potokach BK-CI. Obejmuje cały cykl życia zmiennych: tworzenie, inicjalizację, aktualizację, przechowywanie, przekazywanie między etapami i zadaniami oraz rozszerzanie struktury danych zmiennych. Zawiera mapowanie między wewnętrznym modelem BuildFormProperty a modelem YAML, konwertery danych i praktyczne wskazówki do debugowania problemów z przekazywaniem zmiennych w złożonych potokach.

Jak używać

  1. Zainstaluj skill pipeline-variable-management z repozytorium TencentBlueKing (bk-ci). Skill dostarcza dokumentację i narzędzia do pracy ze zmiennymi w potokach CI/CD.

  2. Zapoznaj się z dwoma głównymi modelami danych: BuildFormProperty (wewnętrzny model przechowywania w bazie danych) i Variable (model YAML do definiowania potoków). Oba modele są używane równolegle w systemie.

  3. Gdy definiujesz zmienne w potoku, użyj modelu YAML (Variable) — zawiera on pola zgodne ze standardem Jackson do serializacji JSON. Zmienne mogą być parametrami konfiguracyjnymi, danymi przekazywanymi między etapami lub wartościami wprowadzanymi przez użytkownika.

  4. Aby przekonwertować zmienne między formatami, skorzystaj z VariableTransfer. Klasa ta obsługuje transformację BuildFormProperty → Variable (do API i PAC) oraz Variable → BuildFormProperty (do przechowywania wewnętrznego).

  5. Podczas uruchamiania potoku zmienne są inicjalizowane w momencie startu (StartBuild), a ich wartości przechowywane są w tabeli T_PIPELINE_BUILD_VAR. Możesz odczytać, zaktualizować i przesłać zmienne między zadaniami w ramach tego samego etapu lub między etapami.

  6. Jeśli rozszerzasz strukturę zmiennych (nowe pola, typy, zakresy), modyfikuj definicje w BuildFormProperty i upewnij się, że VariableTransfer obsługuje nowe pola w obu kierunkach konwersji. Przetestuj konwersję na przykładach YAML.

Podobne skille