Automatyzacja analizy nieudanych pipeline'ów CI/CD z agentem AI
Agenci AI znacząco przyspieszają identyfikację przyczyn niepowodzeń zadań w CI/CD. System oparty na n8n reaguje na zdarzenia nieudanych buildów, zbiera logi, konfigurację pipeline'u i generuje raport z prawdopodobnymi przyczynami oraz krokami naprawczymi. Analiza zajmuje około 30 sekund, zużywając kilka tysięcy tokenów.
Przygotowanie architektury
Określ kluczowe parametry przed wdrożeniem:
- Zdarzenia wyzwalające: nieudane joby w GitLab CI/CD.
- Źródła danych: repozytoria, pełne logi, metryki zasobów agentów, dostępność endpointów.
- Analiza: klasyfikacja według typu zadania (build, testy, deploy).
- Format raportu: zwięzły tekst na czat z faktami, przyczynami i działaniami.
Dla builda sprawdza się zależności, kod, zasoby. Testy — błędy w kodzie i testach. Deploy — manifesty, platforma. Ogólne awarie: pipeline, narzędzia agenta, inicjalizacja.
Przepływ przetwarzania zdarzeń
Webhook z GitLab aktywuje n8n. Filtr przepuszcza tylko zdarzenia failed. Pobieranie danych: ostatnie 50 linii logu, .gitlab-ci.yml, szczegóły pipeline'u i joba.
Dane są formatowane w tablicy JSON:
[
{"job_log": "Ostatnie 50 linii logu nieudanego joba"},
{"data": "Zawartość .gitlab-ci.yml"},
{"pipeline": {}},
{"failed_job": {}}
]
Agent AI z promptem systemowym analizuje dane, używając narzędzi MCP. Brak pamięci — każde zdarzenie jest niezależne.
Narzędzia agenta
- Gitlab-mcp: szczegóły joba, zmiany w kodzie.
- Grafana-mcp: metryki agentów, logi deployu.
- Http-request: sprawdzanie endpointów.
Serwery MCP w trybie remote, transport — streaming HTTP. Dla trybu non-remote użyj mcpgateway.
Implementacja w n8n
Konfiguracja webhook z X-Gitlab-Token. GitLab: zdarzenia Pipeline na URL webhooka. Węzeł 'if' odrzuca success. Zapytania przez GitLab API z tokenem read-only. Merge składa dane.
Agent otrzymuje prompt z formatem wejścia, narzędziami, instrukcjami śledczymi i formatem wyjścia. Zalecane modele — najnowsze dla MCP.
Finał: raport na kanał Slack lub w wątku.
Przykłady diagnostyki
Gradle dependency resolution:
Agent odróżnia to od kompilacji: artefakt nie opublikowany, credentials w kontekście Docker. Kroki: sprawdź repozytorium, credentials, mirror.
Terraform plan error:
Unsupported argument w HCL. Przyczyny: błędny zasób, wersja providera DigitalOcean, przestarzały schemat. Kroki: aktualizuj provider, sprawdź dokumentację, validate.
Co ważne
- Analiza w 30 sekund uwalnia od rutyny.
- Tylko dostępy read-only dla bezpieczeństwa.
- Świeże modele dla precyzyjnego MCP.
- Testuj na realnych workflow.
- Skaluj na grupy repozytoriów.
— Editorial Team
Brak komentarzy.