--- createdAt: 2026-01-06 updatedAt: 2026-01-06 title: Команда CI description: Дізнайтеся, як використовувати команду Intlayer CI для запуску команд Intlayer з автоматично підставленими обліковими даними у CI/CD пайплайнах та монорепозиторіях. keywords: - CI - CI/CD - Automation - Monorepo - Credentials - 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 автоматично визначає, який package manager використовується (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: Fill dictionaries run: npx intlayer ci fill ``` ## Обробка помилок - Якщо `INTLAYER_PROJECT_CREDENTIALS` не встановлено, команда завершиться з помилкою. - Якщо `INTLAYER_PROJECT_CREDENTIALS` не є валідним JSON, команда завершиться з помилкою. - Якщо шлях до проекту не існує, він буде пропущений з попередженням. - Якщо будь-який проект зазнає невдачі, команда завершиться з кодом стану, відмінним від нуля. ## Випадки використання - **Автоматизація монорепо**: Виконувати команди Intlayer для кількох проектів у монорепозиторії - **Конвеєри CI/CD**: Автоматизувати керування словниками в процесах безперервної інтеграції - **Масові операції**: Виконувати одну й ту саму операцію одночасно для кількох проектів Intlayer - **Управління секретами**: Безпечно керуйте обліковими даними для кількох проєктів за допомогою змінних середовища ## Кращі практики безпеки - Зберігайте `INTLAYER_PROJECT_CREDENTIALS` як зашифровані секрети на вашій платформі CI/CD - Ніколи не комітіть облікові дані у систему контролю версій - Використовуйте окремі облікові дані для різних середовищ розгортання - Регулярно проводьте ротацію облікових даних