Claude Code para GitLab CI/CD está atualmente em beta. Os recursos e funcionalidades podem evoluir conforme refinamos a experiência.Esta integração é mantida pelo GitLab. Para obter suporte, consulte o seguinte problema do GitLab.
Esta integração é construída sobre o Claude Code CLI e Agent SDK, permitindo o uso programático do Claude em seus trabalhos de CI/CD e fluxos de trabalho de automação personalizados.
Por que usar Claude Code com GitLab?
- Criação instantânea de MR: Descreva o que você precisa, e Claude propõe um MR completo com alterações e explicação
- Implementação automatizada: Transforme problemas em código funcional com um único comando ou menção
- Ciente do projeto: Claude segue suas diretrizes
CLAUDE.mde padrões de código existentes - Configuração simples: Adicione um trabalho a
.gitlab-ci.ymle uma variável de CI/CD mascarada - Pronto para empresas: Escolha Claude API, Amazon Bedrock ou Google Cloud’s Agent Platform para atender às necessidades de residência de dados e compras
- Seguro por padrão: Executa em seus executores GitLab com sua proteção de branch e aprovações
Como funciona
Claude Code usa GitLab CI/CD para executar tarefas de IA em trabalhos isolados e confirmar resultados de volta via MRs:-
Orquestração orientada por eventos: GitLab escuta seus gatilhos escolhidos (por exemplo, um comentário que menciona
@claudeem um problema, MR ou thread de revisão). O trabalho coleta contexto da thread e do repositório, constrói prompts a partir dessa entrada e executa Claude Code. -
Abstração de provedor: Use o provedor que se adequa ao seu ambiente:
- Claude API (SaaS)
- Amazon Bedrock (acesso baseado em IAM, opções entre regiões)
- Google Cloud’s Agent Platform (nativo do GCP, Workload Identity Federation)
- Execução em sandbox: Cada interação é executada em um contêiner com regras rigorosas de rede e sistema de arquivos. Claude Code impõe permissões com escopo de workspace para restringir gravações. Cada alteração flui através de um MR para que os revisores vejam o diff e as aprovações ainda se apliquem.
O que Claude pode fazer?
Em um pipeline do GitLab, Claude Code pode:- Criar e atualizar MRs a partir de descrições ou comentários de issues
- Analisar regressões de desempenho e propor otimizações
- Implementar recursos diretamente em uma branch, depois abrir uma MR
- Corrigir bugs e regressões identificados por testes ou comentários
- Responder a comentários de acompanhamento para iterar sobre as alterações solicitadas
Configuração
Configuração rápida
A forma mais rápida de começar é adicionar um job mínimo ao seu.gitlab-ci.yml e definir sua chave de API como uma variável mascarada.
-
Adicione uma variável CI/CD mascarada
- Vá para Settings → CI/CD → Variables
- Adicione
ANTHROPIC_API_KEY(mascarada, protegida conforme necessário)
-
Adicione um job Claude ao
.gitlab-ci.yml
ANTHROPIC_API_KEY, teste executando o job manualmente em CI/CD → Pipelines, ou dispare-o a partir de um MR para deixar Claude propor atualizações em uma branch e abrir um MR se necessário.
Para executar no Amazon Bedrock ou na Agent Platform do Google Cloud em vez da Claude API, consulte a seção Using with Amazon Bedrock and Google Cloud abaixo para configuração de autenticação e ambiente.
Configuração manual (recomendada para produção)
Se você preferir uma configuração mais controlada ou precisar de provedores corporativos:-
Configure o acesso ao provedor:
- Claude API: Crie e armazene
ANTHROPIC_API_KEYcomo uma variável CI/CD mascarada - Amazon Bedrock: Configure GitLab → AWS OIDC e crie uma função IAM para Amazon Bedrock
- Agent Platform do Google Cloud: Configure Workload Identity Federation for GitLab → GCP
- Claude API: Crie e armazene
-
Adicione credenciais de projeto para operações da API GitLab:
- Use
CI_JOB_TOKENpor padrão, ou crie um Project Access Token com escopoapi - Armazene como
GITLAB_ACCESS_TOKEN(mascarada) se usar um PAT
- Use
-
Adicione o job Claude ao
.gitlab-ci.yml: use o job Quick setup para a Claude API, ou um job de provedor de Configuration examples -
(Opcional) Ative acionadores acionados por menção:
- Adicione um webhook de projeto para “Comments (notes)” ao seu ouvinte de eventos (se você usar um)
- Faça o ouvinte chamar a API de acionamento de pipeline com variáveis como
AI_FLOW_INPUTeAI_FLOW_CONTEXTquando um comentário contiver@claude
Exemplos de casos de uso
Transformar problemas em MRs
Em um comentário de problema:Obter ajuda com implementação
Em uma discussão de MR:Corrigir bugs rapidamente
Em um comentário de problema ou MR:Usando com Amazon Bedrock e Google Cloud
Para ambientes empresariais, você pode executar Claude Code inteiramente em sua infraestrutura de nuvem com a mesma experiência de desenvolvedor.- Amazon Bedrock
- Google Cloud's Agent Platform
Pré-requisitos
Antes de configurar Claude Code com Amazon Bedrock, você precisa de:- Uma conta AWS com acesso ao Amazon Bedrock para os modelos Claude desejados
- GitLab configurado como um provedor de identidade OIDC no AWS IAM
- Uma função IAM com permissões do Amazon Bedrock e uma política de confiança restrita ao seu projeto/refs do GitLab
- Variáveis do GitLab CI/CD para assunção de função:
AWS_ROLE_TO_ASSUME(ARN da função)AWS_REGION(região do Amazon Bedrock)
Instruções de configuração
Configure AWS para permitir que trabalhos do GitLab CI assumam uma função IAM via OIDC (sem chaves estáticas).Configuração obrigatória:- Ative o Amazon Bedrock e solicite acesso aos seus modelos Claude de destino
- Crie um provedor OIDC do IAM para GitLab se ainda não estiver presente
- Crie uma função IAM confiável pelo provedor OIDC do GitLab, restrita ao seu projeto e refs protegidas
- Anexe permissões de menor privilégio para APIs de invocação do Amazon Bedrock
Exemplos de configuração
Abaixo estão trechos prontos para uso que você pode adaptar ao seu pipeline.Exemplo de job do Amazon Bedrock (OIDC)
Pré-requisitos:- Amazon Bedrock habilitado com acesso ao(s) modelo(s) Claude escolhido(s)
- OIDC do GitLab configurado na AWS com uma função que confia no seu projeto GitLab e refs
- Função IAM com permissões do Amazon Bedrock (privilégio mínimo recomendado)
AWS_ROLE_TO_ASSUME: ARN da função IAM para acesso ao Amazon BedrockAWS_REGION: região do Amazon Bedrock (por exemplo,us-west-2)
id_tokens: e o expõe como GITLAB_OIDC_TOKEN. Defina aud para o valor de audiência que você configurou no provedor de identidade OIDC do IAM na AWS, por exemplo, a URL da sua instância GitLab.
Os IDs de modelo para o Amazon Bedrock incluem prefixos específicos da região (por exemplo,
us.anthropic.claude-sonnet-4-6). Passe o modelo desejado através da configuração do seu job ou prompt se seu fluxo de trabalho suportar.Exemplo de job do Agent Platform (Workload Identity Federation)
Pré-requisitos:- API do Agent Platform do Google Cloud habilitada no seu projeto GCP
- Workload Identity Federation configurada para confiar no OIDC do GitLab
- Uma conta de serviço com permissões do Agent Platform do Google Cloud
GCP_WORKLOAD_IDENTITY_PROVIDER: nome do recurso do provedor sem o prefixo//iam.googleapis.com/, comoprojects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-providerGCP_SERVICE_ACCOUNT: email da conta de serviçoGCP_PROJECT_ID: ID do projeto Google CloudCLOUD_ML_REGION: região do Agent Platform do Google Cloud (por exemplo,us-east5)
id_tokens: e o expõe como GITLAB_OIDC_TOKEN. Defina aud para o valor de audiência que você configurou no provedor do Workload Identity Pool, por exemplo, a URL da sua instância GitLab. O job escreve o token em um arquivo, e a entrada credential_source da configuração de credenciais diz às bibliotecas de autenticação do Google para lê-lo de lá. Definir GOOGLE_APPLICATION_CREDENTIALS para o arquivo de configuração de credenciais o torna disponível para Claude Code através de Application Default Credentials.
Com o Workload Identity Federation, você não precisa armazenar chaves de conta de serviço. Use condições de confiança específicas do repositório e contas de serviço com privilégio mínimo.
Melhores práticas
Configuração CLAUDE.md
Crie um arquivoCLAUDE.md na raiz do repositório para definir padrões de codificação, critérios de revisão e regras específicas do projeto. Claude lê este arquivo durante as execuções e segue suas convenções ao propor alterações.
Considerações de segurança
Nunca faça commit de chaves de API ou credenciais de nuvem no seu repositório. Sempre use variáveis de GitLab CI/CD:- Adicione
ANTHROPIC_API_KEYcomo uma variável mascarada (e proteja-a se necessário) - Use OIDC específico do provedor quando possível (sem chaves de longa duração)
- Limite as permissões de trabalho e a saída de rede
- Revise os MRs do Claude como qualquer outro colaborador
Otimizando o desempenho
- Mantenha
CLAUDE.mdfocado e conciso - Forneça descrições claras de issue/MR para reduzir iterações
- Armazene em cache npm e instalações de pacotes em runners quando possível
Custos de CI
Ao usar Claude Code com GitLab CI/CD, esteja ciente dos custos associados:-
Tempo do GitLab Runner:
- Claude é executado em seus runners do GitLab e consome minutos de computação
- Consulte os detalhes de faturamento do runner do seu plano GitLab
-
Custos de API:
- Cada interação do Claude consome tokens com base no tamanho do prompt e da resposta
- O uso de tokens varia de acordo com a complexidade da tarefa e o tamanho da base de código
- Consulte Preços da Anthropic para detalhes
-
Dicas de otimização de custos:
- Use comandos
@claudeespecíficos para reduzir turnos desnecessários - Defina valores apropriados de
--max-turnsetimeoutde trabalho - Limite a concorrência para controlar execuções paralelas
- Use comandos
Troubleshooting
Claude não responde aos comandos @claude
- Verifique se seu pipeline está sendo acionado (manualmente, evento MR ou via listener de evento de nota/webhook)
- Certifique-se de que suas variáveis
ANTHROPIC_API_KEYou do provedor de nuvem estão presentes - Verifique se o comentário contém
@claude(não/claude) e se seu gatilho de menção está configurado
Job não consegue escrever comentários ou abrir MRs
- Certifique-se de que
CI_JOB_TOKENtem permissões suficientes para o projeto, ou use um Project Access Token com escopoapi - Verifique se a ferramenta
mcp__gitlabestá habilitada em--allowedTools - Confirme se o job é executado no contexto do MR ou tem contexto suficiente via variáveis
AI_FLOW_*
Erros de autenticação
- Para Claude API: Confirme que
ANTHROPIC_API_KEYé válida e não expirou - Para Amazon Bedrock ou Google Cloud’s Agent Platform: Verifique a configuração OIDC/WIF, impersonação de função e nomes de segredos; confirme a disponibilidade de região e modelo
Configuração avançada
Parâmetros e variáveis comuns
Controle as execuções do Claude Code em seus jobs com esses sinalizadores CLI, palavras-chave do GitLab e variáveis:-p: forneça instruções inline, por exemploclaude -p "Review this MR"--max-turns: limite o número de iterações de ida e voltatimeout: limite o tempo total de execução do job com a palavra-chavetimeoutde nível de job do GitLab, por exemplotimeout: 30mANTHROPIC_API_KEY: obrigatório para a API Claude (não usado para Amazon Bedrock ou Agent Platform do Google Cloud)- Ambiente específico do provedor:
AWS_REGION, variáveis de projeto/região para Agent Platform do Google Cloud
Os sinalizadores e parâmetros exatos podem variar dependendo da versão de
@anthropic-ai/claude-code. Execute claude --help em seu job para ver as opções suportadas.Personalizando o comportamento do Claude
Você pode orientar o Claude de duas maneiras principais:- CLAUDE.md: Defina padrões de codificação, requisitos de segurança e convenções de projeto. Claude lê isso durante as execuções e segue suas regras.
- Prompts personalizados: Passe instruções específicas da tarefa via
-pno job. Use prompts diferentes para jobs diferentes (por exemplo, review, implement, refactor).