--- 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 ``` Команда 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. ## Аргументы - **``**: Команда 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 - Никогда не коммитьте учетные данные в систему контроля версий - Используйте учетные данные, специфичные для окружения, для различных сред развертывания - Регулярно обновляйте учетные данные