Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Додано команду CI"v7.5.1106.01.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Команда CI
Скопіюйте код у буфер обміну
npx intlayer ci <command...>Команда CI призначена для автоматизації та CI/CD-пайплайнів. Вона автоматично підставляє облікові дані зі змінної оточення INTLAYER_PROJECT_CREDENTIALS і може виконувати команди Intlayer для кількох проєктів у монорепозиторії.
Як це працює
Команда CI працює в двох режимах:
Режим одного проєкту: Якщо поточний робочий каталог відповідає одному зі шляхів проєктів у
INTLAYER_PROJECT_CREDENTIALS, команда запускається лише для цього конкретного проєкту.Режим ітерації: Якщо контекст конкретного проєкту не виявлено, вона перебирає всі налаштовані проєкти й виконує команду для кожного з них.
Змінна середовища
Команда вимагає встановленої змінної середовища 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 - Ніколи не комітіть облікові дані у систему контролю версій
- Використовуйте окремі облікові дані для різних середовищ розгортання
- Регулярно проводьте ротацію облікових даних