Отримуйте сповіщення про майбутні випуски 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 автоматично визначає, який package manager використовується (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: Fill dictionaries    run: npx intlayer ci fill

    Обробка помилок

    • Якщо INTLAYER_PROJECT_CREDENTIALS не встановлено, команда завершиться з помилкою.
    • Якщо INTLAYER_PROJECT_CREDENTIALS не є валідним JSON, команда завершиться з помилкою.
    • Якщо шлях до проекту не існує, він буде пропущений з попередженням.
    • Якщо будь-який проект зазнає невдачі, команда завершиться з кодом стану, відмінним від нуля.

    Випадки використання

    • Автоматизація монорепо: Виконувати команди Intlayer для кількох проектів у монорепозиторії
    • Конвеєри CI/CD: Автоматизувати керування словниками в процесах безперервної інтеграції
    • Масові операції: Виконувати одну й ту саму операцію одночасно для кількох проектів Intlayer
    • Управління секретами: Безпечно керуйте обліковими даними для кількох проєктів за допомогою змінних середовища

    Кращі практики безпеки

    • Зберігайте INTLAYER_PROJECT_CREDENTIALS як зашифровані секрети на вашій платформі CI/CD
    • Ніколи не комітіть облікові дані у систему контролю версій
    • Використовуйте окремі облікові дані для різних середовищ розгортання
    • Регулярно проводьте ротацію облікових даних
    Отримуйте сповіщення про майбутні випуски Intlayer