Claude Code w GitLab CI/CD
Claude Code w GitLab CI/CD pozwala uruchamiać zadania AI w pipeline’ach i przekazywać ich wyniki do repozytorium przez merge requesty. Integracja opiera się na Claude Code CLI i Agent SDK, dzięki czemu można używać Claude’a programowo w zadaniach CI/CD oraz własnych automatyzacjach. Integracja jest obecnie w wersji beta, a jej funkcje mogą się zmieniać.
GitLab może uruchamiać zadanie po wybranym zdarzeniu, na przykład po komentarzu z wzmianką @claude w issue, MR lub wątku przeglądu. Zadanie zbiera kontekst z wątku i repozytorium, buduje prompt z tych danych, a następnie uruchamia Claude Code. Każda interakcja działa w kontenerze z ograniczeniami sieci i systemu plików, a zmiany przechodzą przez MR, gdzie recenzenci widzą diff i nadal obowiązują zatwierdzenia.
Szybki start polega na dodaniu zadania do .gitlab-ci.yml i ustawieniu klucza API jako zamaskowanej zmiennej CI/CD. Dla Claude API dodaj ANTHROPIC_API_KEY jako zmienną zamaskowaną, chronioną w razie potrzeby. Po dodaniu zadania i zmiennej klucza można uruchomić pipeline ręcznie albo wyzwolić go z MR.
W konfiguracji produkcyjnej można użyć dostępu OIDC do Amazon Bedrock albo Workload Identity Federation do Google Cloud’s Agent Platform, zamiast przechowywać długotrwałe klucze. Przy wyzwalaniu pracy wzmianką @claude listener może przekazać do API uruchamiającego pipeline zmienne AI_FLOW_INPUT i AI_FLOW_CONTEXT. Jeśli zadanie nie może pisać komentarzy lub otwierać MR-ów, sprawdź uprawnienia CI_JOB_TOKEN albo użyj Project Access Token z zakresem api oraz upewnij się, że mcp__gitlab jest dozwolonym narzędziem. Liczbę iteracji i czas działania można ograniczać przez --max-turns oraz timeout zadania, a współbieżność ogranicza liczbę równoległych uruchomień.
AI_FLOW_INPUT i narzędziami GitLab dopuszczonymi do użycia.claude
-p "${AI_FLOW_INPUT:-'Review this MR and implement the requested changes'}"
--permission-mode acceptEdits
--allowedTools "Bash Read Edit Write mcp__gitlab"
--debugvariables: AWS_REGION: "us-west-2" CLAUDE_CODE_USE_BEDROCK: "1"
variables: CLOUD_ML_REGION: "us-east5" CLAUDE_CODE_USE_VERTEX: "1" ANTHROPIC_VERTEX_PROJECT_ID: "$GCP_PROJECT_ID"
Zastosowanie w praktyce
Użyj pipeline’u, aby przekształcić opis issue lub komentarz w implementację i propozycję MR. Możesz zlecić Claude’owi analizę regresji wydajności i zaproponowanie optymalizacji. Zadanie może naprawiać błędy lub regresje wskazane przez testy bądź komentarze, a potem wprowadzać poprawki w branchu i otwierać MR. Wzmianka @claude w komentarzu może uruchomić przepływ, w którym Claude odpowiada na kolejne komentarze i iteruje nad żądanymi zmianami.
claude w ~/.local/bin, którego nie ma w PATH, więc po instalacji dodaj tę ścieżkę do PATH.