Автоматизация и CI/CD

Использование безголового режима Claude Code в скриптах и CI/CD-конвейерах

Автоматизация и CI/CD

Claude Code поддерживает безголовый (headless) режим для использования в скриптах, CI/CD-конвейерах и автоматизированных рабочих процессах без участия человека.

Базовое использование

Однократное выполнение (режим -p)

# Базовое выполнение
claude -p "Проанализируй архитектуру этого проекта"

# Вывод в формате JSON
claude -p "Перечисли все TODO-комментарии" --output-format json

# Ограничение количества итераций
claude -p "Напиши юнит-тесты для UserService" --max-turns 5

Ограничение доступных инструментов

# Только чтение (запись запрещена)
claude -p "Проанализируй качество кода" --allowedTools Read,Glob,Grep

# Чтение и запись (без выполнения команд)
claude -p "Отрефактори этот файл" --allowedTools Read,Write,Edit

Пропуск запросов разрешений

В безопасных изолированных средах (например, Docker-контейнер или CI-окружение):

claude -p "Исправь все ошибки lint и закоммить" --dangerously-skip-permissions

Предупреждение безопасности: --dangerously-skip-permissions пропускает все запросы разрешений. Используйте только в доверенных изолированных средах.

Примеры интеграции с CI/CD

GitHub Actions

name: AI Code Review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:

      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run AI Code Review
        env:
          ANTHROPIC_BASE_URL: "https://asia.qcode.cc/api"
          ANTHROPIC_AUTH_TOKEN: ${{ secrets.QCODE_API_KEY }}
        run: |
          claude -p "Проведи ревью изменений кода в этом PR, обрати внимание на безопасность и производительность" \
            --output-format json \
            --max-turns 3 \
            --allowedTools Read,Glob,Grep \
            > review.json

Автоматизация скриптами

#!/bin/bash
# auto-test.sh — автоматическая генерация и запуск тестов

export ANTHROPIC_BASE_URL="https://asia.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_api_key"

# Генерация тестов
claude -p "Сгенерируй юнит-тесты для всех файлов в src/services/" \
  --max-turns 10 \
  --allowedTools Read,Write,Glob,Grep,Bash

# Запуск тестов
npm test

Восстановление сессии

Можно сохранять контекст между вызовами:

# Первый вызов: анализ
claude -p "Проанализируй архитектуру проекта" --session-id "ci-task-42" --output-format json

# Второй вызов: предложения на основе анализа
claude -p "На основе предыдущего анализа предложи улучшения" --resume --session-id "ci-task-42"

Форматы вывода

Формат Параметр Описание
Текст --output-format text По умолчанию, удобочитаемый
JSON --output-format json Структурированный вывод для парсинга скриптами
Потоковый JSON --output-format stream-json Потоковый вывод в реальном времени

Переменные окружения

Переменная Описание
ANTHROPIC_BASE_URL Адрес API QCode.cc
ANTHROPIC_AUTH_TOKEN API-ключ
CLAUDE_CODE_MAX_TURNS Максимальное количество итераций по умолчанию
CLAUDE_CODE_OUTPUT_FORMAT Формат вывода по умолчанию

Лучшие практики

  1. Всегда ограничивайте итерации: в CI используйте --max-turns для предотвращения бесконечного выполнения

  2. Ограничивайте инструменты: через --allowedTools открывайте только необходимые инструменты

  3. Изолированная среда: используйте --dangerously-skip-permissions в Docker-контейнерах

  4. JSON-вывод: для автоматизации рекомендуется --output-format json для удобного парсинга

Следующие шаги

  • Смотрите Система хуков для автоматического запуска действий в CI

  • Смотрите Советы по CLI для дополнительных приёмов командной строки

🚀
Начните с QCode — ИИ-ассистент для программистов
Официальный ретранслятор Claude Code, быстро и надёжно
Посмотреть тарифы → Создать аккаунт