Codex: Automação e CI/CD com o Codex
Última atualização: 2026-08-31
O modo não-interativo do Codex o torna ideal para integração CI/CD, habilitando revisão automatizada de código e garantia de qualidade.
📋 Pré-requisitos: Conhecimento básico de CI/CD, familiaridade com GitHub Actions
1. O Que Você Vai Aprender
- O papel do Codex em CI/CD
- Integração com GitHub Actions
- Revisão automatizada de código
- Configuração de portões de qualidade
2. O Papel do Codex em CI/CD
| Papel | Descrição | Gatilho |
|---|---|---|
| Revisor de Código | Auto-revisar PRs | Ao criar PR |
| Gerador de Testes | Auto-complementar testes | Ao mudar código |
| Atualizador de Docs | Auto-atualizar documentação | Ao mudar API |
| Scanner de Segurança | Verificar vulnerabilidades | A cada commit |
3. Integração com GitHub Actions
(1) Configuração Básica
# .github/workflows/codex-review.yml
name: Codex Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Codex Review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
npm install -g @openai/codex
git diff origin/main...HEAD | codex --quiet --sandbox readonly \
"Review this PR's changes, focusing on: 1. Security vulnerabilities 2. Performance issues 3. Code style" \
> review-comment.md
- name: Post Review
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const comment = fs.readFileSync('review-comment.md', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
▶ Exemplo 1: Revisão Automatizada de Alice
# Pipeline de revisão de PR de Alice
name: Auto Review
on:
pull_request:
jobs:
security-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Security Scan
run: |
codex --quiet --sandbox readonly \
"Scan code for security vulnerabilities: SQL injection, XSS, sensitive data leaks"
performance-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Performance Check
run: |
codex --quiet --sandbox readonly \
"Analyze code performance issues: N+1 queries, memory leaks, unnecessary computation"
4. Geração Automatizada de Testes
(1) Geração de Testes Acionada por PR
name: Generate Tests
on:
pull_request:
paths:
- 'src/**'
jobs:
generate-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Coverage
run: |
npm test -- --coverage
COVERAGE=$(cat coverage/coverage-summary.json | jq '.total.lines.pct')
if [ "$COVERAGE" -lt 80 ]; then
echo "Coverage below 80%, generating tests..."
codex --full-auto \
"Supplement unit tests for files with insufficient coverage, target 80%"
fi
(2) Geração de Testes Agendada
name: Weekly Test Update
on:
schedule:
- cron: '0 2 * * 1' # Toda segunda às 2h da manhã
jobs:
update-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update Tests
run: |
codex --full-auto \
"Check all source files, generate unit tests for files lacking them"
5. Portões de Qualidade
(1) Verificação de Qualidade de Código
name: Quality Gate
on:
pull_request:
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Quality Check
run: |
RESULT=$(codex --quiet --sandbox readonly \
"Evaluate code quality, score 1-10, criteria: readability, maintainability, security, performance")
echo "$RESULT"
SCORE=$(echo "$RESULT" | grep -oP 'Score: \K\d+')
if [ "$SCORE" -lt 7 ]; then
echo "Quality score below 7, blocking PR"
exit 1
fi
(2) Auto Fix + Revisão Manual
name: Auto Fix and Review
on:
pull_request:
jobs:
auto-fix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Auto Fix
run: |
codex --auto-edit \
"Fix all lint errors and formatting issues"
git diff > auto-fixes.patch
- name: Upload Patch
uses: actions/upload-artifact@v4
with:
name: auto-fixes
path: auto-fixes.patch
6. Scanner de Segurança
name: Security Scan
on:
push:
branches: [main]
pull_request:
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Security Audit
run: |
codex --quiet --sandbox readonly \
"Perform security audit:
1. Check for hardcoded keys and credentials
2. Check SQL injection risks
3. Check XSS risks
4. Check insecure dependencies
5. Check insecure API calls
Output risk levels and remediation suggestions"
7. Controle de Custos
| Estratégia | Descrição |
|---|---|
| Limitar Gatilhos | Apenas acionar em mudanças de caminhos críticos |
| Usar Modo Read-only | Tarefas de revisão com --sandbox readonly |
| Escolher Modelo Adequado | Leve para revisões, poderoso para geração |
| Cachear Resultados | Não re-codificar código idêntico |
| Definir Timeouts | Evitar tarefas longas consumindo tokens |
❓ Perguntas Frequentes
P: O Codex em CI/CD é seguro? R: Usando
--sandbox readonlyapenas revisa sem fazer mudanças. Quando modificações são necessárias, use--auto-edite revise manualmente os resultados.
P: Quanto custa cada execução de CI? R: Depende da complexidade da tarefa e modelo. Revisões simples ~$0.01-0.05/execução, geração complexa ~$0.1-0.5/execução. Considere usar DeepSeek para reduzir custos.
P: Pode substituir o SonarQube? R: Não inteiramente. O Codex se destaca em revisão em nível semântico, SonarQube se destaca em varredura em nível de regras. Eles se complementam.
P: Como evito que o Codex trave no CI? R: Defina um parâmetro
timeout, use modo não-interativo, configure--approval-policy approveoudeny.
P: GitLab CI também pode usar o Codex? R: Sim. O Codex CLI é multi-plataforma e funciona com qualquer sistema de CI.
📖 Resumo
- Papéis do Codex em CI/CD: revisor, gerador de testes, scanner de segurança
- Integração com GitHub Actions: revisar PRs, gerar testes, portões de qualidade
- Modo de segurança: usar readonly para revisões, confirmação manual para modificações
- Controle de custos: limitar gatilhos, escolher modelos, definir timeouts
📝 Exercícios
- Básico (⭐): Crie um workflow GitHub Actions que auto-executa revisão de código do Codex em PRs.
- Intermediário (⭐⭐): Implemente geração automatizada de testes — quando cobertura cair abaixo de 80%, auto-complementar testes.
- Avançado (⭐⭐⭐): Desenhe um pipeline CI/CD completo: revisão de código → auto-fix → geração de testes → scanner de segurança → portão de qualidade.