---
createdAt: 2026-01-06
updatedAt: 2026-01-06
title: Команда CI
description: Узнайте, как использовать команду Intlayer CI для запуска команд Intlayer с автоматически внедренными учетными данными в CI/CD конвейерах и монорепозиториях.
keywords:
  - CI
  - CI/CD
  - Автоматизация
  - Монорепозиторий
  - Учетные данные
  - CLI
  - Intlayer
slugs:
  - doc
  - concept
  - cli
  - ci
history:
  - version: 7.5.11
    date: 2026-01-06
    changes: Добавить команду CI
---

# Команда CI

```bash
npx intlayer ci <command...>
```

Команда CI предназначена для автоматизации и CI/CD конвейеров. Она автоматически внедряет учетные данные из переменной окружения `INTLAYER_PROJECT_CREDENTIALS` и может запускать команды Intlayer для нескольких проектов в монорепозитории.

## Как это работает

Команда CI работает в двух режимах:

1. **Режим одного проекта**: Если текущий рабочий каталог соответствует одному из путей проектов в `INTLAYER_PROJECT_CREDENTIALS`, она запускает команду только для этого конкретного проекта.

2. **Режим итерации**: Если не обнаружен конкретный контекст проекта, она перебирает все настроенные проекты и запускает команду для каждого из них.

## Переменная окружения

Команда требует установки переменной окружения `INTLAYER_PROJECT_CREDENTIALS`. Эта переменная должна содержать JSON-объект, сопоставляющий пути проектов с их учетными данными:

```json
{
  "packages/app": {
    "clientId": "your-client-id-1",
    "clientSecret": "your-client-secret-1"
  },
  "packages/admin": {
    "clientId": "your-client-id-2",
    "clientSecret": "your-client-secret-2"
  }
}
```

## Определение менеджера пакетов

Команда CI автоматически определяет, какой менеджер пакетов используется (npm, yarn, pnpm или bun), на основе переменной окружения `npm_config_user_agent` и использует соответствующую команду для выполнения Intlayer.

## Аргументы

- **`<command...>`**: Команда Intlayer для выполнения (например, `fill`, `push`, `build`). Вы можете передать любую команду Intlayer и ее аргументы.

  > Пример: `npx intlayer ci fill --verbose`
  >
  > Пример: `npx intlayer ci push`
  >
  > Пример: `npx intlayer ci build`

## Примеры

### Запуск команды в режиме одного проекта

Если вы находитесь в каталоге проекта, который соответствует одному из путей в `INTLAYER_PROJECT_CREDENTIALS`:

```bash
cd packages/app
npx intlayer ci fill
```

Это запустит команду `fill` с автоматически внедренными учетными данными для проекта `packages/app`.

### Запуск команды для всех проектов

Если вы находитесь в каталоге, который не соответствует ни одному пути проекта, команда переберет все настроенные проекты:

```bash
cd /path/to/monorepo
npx intlayer ci push
```

Это запустит команду `push` для каждого проекта, настроенного в `INTLAYER_PROJECT_CREDENTIALS`.

### Передача дополнительных флагов

Вы можете передать любые флаги в базовую команду Intlayer:

```bash
npx intlayer ci fill --verbose --mode complete
```

### Использование в CI/CD конвейерах

В вашей конфигурации CI/CD (например, GitHub Actions, GitLab CI) установите `INTLAYER_PROJECT_CREDENTIALS` как секрет:

```yaml
# Пример GitHub Actions
env:
  INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}

steps:
  - name: Заполнить словари
    run: npx intlayer ci fill
```

## Обработка ошибок

- Если `INTLAYER_PROJECT_CREDENTIALS` не установлена, команда завершится с ошибкой.
- Если `INTLAYER_PROJECT_CREDENTIALS` не является допустимым JSON, команда завершится с ошибкой.
- Если путь проекта не существует, он будет пропущен с предупреждением.
- Если какой-либо проект завершится неудачей, команда завершится с ненулевым кодом состояния.

## Случаи использования

- **Автоматизация монорепозитория**: Запуск команд Intlayer для нескольких проектов в монорепозитории
- **CI/CD конвейеры**: Автоматизация управления словарями в рабочих процессах непрерывной интеграции
- **Массовые операции**: Выполнение одной и той же операции для нескольких проектов Intlayer одновременно
- **Управление секретами**: Безопасное управление учетными данными для нескольких проектов с использованием переменных окружения

## Рекомендации по безопасности

- Храните `INTLAYER_PROJECT_CREDENTIALS` как зашифрованные секреты в вашей платформе CI/CD
- Никогда не коммитьте учетные данные в систему контроля версий
- Используйте учетные данные, специфичные для окружения, для различных сред развертывания
- Регулярно обновляйте учетные данные
