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, AWS Bedrock ou Google Vertex AI 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)
- AWS Bedrock (acesso baseado em IAM, opções entre regiões)
- Google Vertex AI (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?
Claude Code permite fluxos de trabalho poderosos de CI/CD que transformam a forma como você trabalha com código:- Criar e atualizar MRs a partir de descrições ou comentários de problemas
- Analisar regressões de desempenho e propor otimizações
- Implementar recursos diretamente em um branch, depois abrir um 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 trabalho mínimo ao seu.gitlab-ci.yml e definir sua chave de API como uma variável mascarada.
-
Adicione uma variável de CI/CD mascarada
- Vá para Settings → CI/CD → Variables
- Adicione
ANTHROPIC_API_KEY(mascarada, protegida conforme necessário)
-
Adicione um trabalho Claude ao
.gitlab-ci.yml
ANTHROPIC_API_KEY, teste executando o trabalho manualmente em CI/CD → Pipelines, ou dispare-o a partir de um MR para deixar Claude propor atualizações em um branch e abrir um MR se necessário.
Para executar no AWS Bedrock ou Google Vertex AI em vez da Claude API, consulte a seção Usando com AWS Bedrock & Google Vertex AI 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 do provedor:
- Claude API: Crie e armazene
ANTHROPIC_API_KEYcomo uma variável de CI/CD mascarada - AWS Bedrock: Configure GitLab → AWS OIDC e crie uma função IAM para Bedrock
- Google Vertex AI: Configure Workload Identity Federation para 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(mascarado) se usar um PAT
- Use
-
Adicione o trabalho Claude ao
.gitlab-ci.yml(veja exemplos abaixo) -
(Opcional) Ative gatilhos orientados 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 gatilho de pipeline com variáveis como
AI_FLOW_INPUTeAI_FLOW_CONTEXTquando um comentário contiver@claude
Exemplos de casos de uso
Transforme problemas em MRs
Em um comentário de problema:Obtenha ajuda de implementação
Em uma discussão de MR:Corrija bugs rapidamente
Em um comentário de problema ou MR:Usando com AWS Bedrock & Google Vertex AI
Para ambientes corporativos, você pode executar Claude Code inteiramente em sua infraestrutura de nuvem com a mesma experiência do desenvolvedor.- AWS Bedrock
- Google Vertex AI
Pré-requisitos
Antes de configurar Claude Code com AWS 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 de Bedrock e uma política de confiança restrita ao seu projeto/refs do GitLab
- Variáveis de CI/CD do GitLab para assunção de função:
AWS_ROLE_TO_ASSUME(ARN da função)AWS_REGION(região do Bedrock)
Instruções de configuração
Configure AWS para permitir que trabalhos de CI do GitLab assumam uma função IAM via OIDC (sem chaves estáticas).Configuração necessária:- Ative Amazon Bedrock e solicite acesso aos seus modelos Claude alvo
- 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 protegidos
- Anexe permissões de privilégio mínimo para APIs de invocação do Bedrock
AWS_ROLE_TO_ASSUMEAWS_REGION
Exemplos de configuração
Abaixo estão trechos prontos para usar que você pode adaptar ao seu pipeline..gitlab-ci.yml básico (Claude API)
Exemplo de trabalho AWS Bedrock (OIDC)
Pré-requisitos:- Amazon Bedrock habilitado com acesso ao seu modelo Claude escolhido
- OIDC do GitLab configurado no AWS com uma função que confia no seu projeto e refs do GitLab
- Função IAM com permissões de Bedrock (privilégio mínimo recomendado)
AWS_ROLE_TO_ASSUME: ARN da função IAM para acesso ao BedrockAWS_REGION: Região do Bedrock (por exemplo,us-west-2)
IDs de modelo para Bedrock incluem prefixos específicos de região (por exemplo,
us.anthropic.claude-sonnet-4-6). Passe o modelo desejado via sua configuração de trabalho ou prompt se seu fluxo de trabalho suportar.Exemplo de trabalho Google Vertex AI (Workload Identity Federation)
Pré-requisitos:- Vertex AI API habilitada em seu projeto GCP
- Workload Identity Federation configurada para confiar no OIDC do GitLab
- Uma conta de serviço com permissões Vertex AI
GCP_WORKLOAD_IDENTITY_PROVIDER: Nome completo do recurso do provedorGCP_SERVICE_ACCOUNT: Email da conta de serviçoCLOUD_ML_REGION: Região do Vertex (por exemplo,us-east5)
Com 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 confirme chaves de API ou credenciais de nuvem em seu repositório. Sempre use variáveis de CI/CD do GitLab:- Adicione
ANTHROPIC_API_KEYcomo uma variável mascarada (e proteja-a se necessário) - Use OIDC específico do provedor onde possível (sem chaves de longa duração)
- Limite permissões de trabalho e saída de rede
- Revise os MRs do Claude como qualquer outro colaborador
Otimizando desempenho
- Mantenha
CLAUDE.mdfocado e conciso - Forneça descrições claras de problema/MR para reduzir iterações
- Configure timeouts de trabalho sensatos para evitar execuções descontroladas
- Cache npm e instalações de pacotes em executores onde 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 executores GitLab e consome minutos de computação
- Consulte a cobrança de executor do seu plano GitLab para detalhes
-
Custos de API:
- Cada interação do Claude consome tokens com base no tamanho do prompt e resposta
- O uso de tokens varia pela complexidade da tarefa e 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_turnse timeout de trabalho - Limite concorrência para controlar execuções paralelas
- Use comandos
Segurança e governança
- Cada trabalho é executado em um contêiner isolado com acesso de rede restrito
- As alterações do Claude fluem através de MRs para que os revisores vejam cada diff
- Regras de proteção de branch e aprovação se aplicam ao código gerado por IA
- Claude Code usa permissões com escopo de workspace para restringir gravações
- Os custos permanecem sob seu controle porque você traz suas próprias credenciais de provedor
Solução de problemas
Claude não responde aos comandos @claude
- Verifique se seu pipeline está sendo disparado (manualmente, evento de MR ou via ouvinte de nota/webhook)
- Certifique-se de que as variáveis de CI/CD (
ANTHROPIC_API_KEYou configurações de provedor de nuvem) estão presentes e desmascaradas - Verifique se o comentário contém
@claude(não/claude) e se seu gatilho de menção está configurado
O trabalho 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 trabalho é 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 Bedrock/Vertex: Verifique configuração de OIDC/WIF, representação de função e nomes de segredos; confirme disponibilidade de região e modelo
Configuração avançada
Parâmetros e variáveis comuns
Claude Code suporta estas entradas comumente usadas:prompt/prompt_file: Forneça instruções inline (-p) ou via arquivomax_turns: Limite o número de iterações de ida e voltatimeout_minutes: Limite o tempo total de execuçãoANTHROPIC_API_KEY: Necessário para Claude API (não usado para Bedrock/Vertex)- Ambiente específico do provedor:
AWS_REGION, variáveis de projeto/região para Vertex
Sinalizadores e parâmetros exatos podem variar por versão de
@anthropic-ai/claude-code. Execute claude --help em seu trabalho para ver as opções suportadas.Personalizando o comportamento do Claude
Você pode guiar Claude de duas formas 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
prompt/prompt_fileno trabalho. Use prompts diferentes para trabalhos diferentes (por exemplo, revisão, implementação, refatoração).