Получайте уведомления о предстоящих релизах Intlayer
    Создание:2026-01-06Последнее обновление:2026-01-06

    Команда CI

    npx intlayer ci <command...>

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

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

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

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

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

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

    Команда требует установки переменной окружения INTLAYER_PROJECT_CREDENTIALS. Эта переменная должна содержать 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:

    cd packages/appnpx intlayer ci fill

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

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

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

    cd /path/to/monoreponpx intlayer ci push

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

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

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

    npx intlayer ci fill --verbose --mode complete

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

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

    # Пример GitHub Actionsenv:  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
    • Никогда не коммитьте учетные данные в систему контроля версий
    • Используйте учетные данные, специфичные для окружения, для различных сред развертывания
    • Регулярно обновляйте учетные данные
    Получайте уведомления о предстоящих релизах Intlayer