Autore:
    Creazione:2026-01-06Ultimo aggiornamento:2026-01-06

    Comando CI

    bash
    npx intlayer ci <command...>
    

    Il comando CI è progettato per l'automazione e le pipeline CI/CD. Inietta automaticamente le credenziali dalla variabile d'ambiente INTLAYER_PROJECT_CREDENTIALS e può eseguire comandi Intlayer su più progetti in un monorepo.

    Come funziona

    Il comando CI opera in due modalità:

    1. Modalità progetto singolo: Se la directory di lavoro corrente corrisponde a uno dei percorsi del progetto in INTLAYER_PROJECT_CREDENTIALS, esegue il comando solo per quel progetto specifico.

    2. Modalità iterazione: Se non viene rilevato un contesto di progetto specifico, itera su tutti i progetti configurati ed esegue il comando per ciascuno.

    Variabile d'ambiente

    Il comando richiede che la variabile d'ambiente INTLAYER_PROJECT_CREDENTIALS sia impostata. Questa variabile deve contenere un oggetto JSON che mappa i percorsi del progetto alle loro credenziali:

    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"
      }
    }
    

    Rilevamento del gestore di pacchetti

    Il comando CI rileva automaticamente quale gestore di pacchetti viene utilizzato (npm, yarn, pnpm o bun) in base alla variabile d'ambiente npm_config_user_agent e utilizza il comando appropriato per eseguire Intlayer.

    Argomenti

    • <command...>: Il comando Intlayer da eseguire (ad esempio, fill, push, build). Puoi passare qualsiasi comando Intlayer e i suoi argomenti.

      Esempio: npx intlayer ci fill --verbose

      Esempio: npx intlayer ci push

      Esempio: npx intlayer ci build

    Esempi

    Eseguire un comando in modalità progetto singolo

    Se ti trovi in una directory di progetto che corrisponde a uno dei percorsi in INTLAYER_PROJECT_CREDENTIALS:

    bash
    cd packages/app
    npx intlayer ci fill
    

    Questo eseguirà il comando fill con le credenziali iniettate automaticamente per il progetto packages/app.

    Eseguire un comando su tutti i progetti

    Se ti trovi in una directory che non corrisponde a nessun percorso di progetto, il comando itererà su tutti i progetti configurati:

    bash
    cd /path/to/monorepo
    npx intlayer ci push
    

    Questo eseguirà il comando push per ogni progetto configurato in INTLAYER_PROJECT_CREDENTIALS.

    Passare flag aggiuntivi

    Puoi passare qualsiasi flag al comando Intlayer sottostante:

    bash
    npx intlayer ci fill --verbose --mode complete
    

    Utilizzare nelle pipeline CI/CD

    Eseguendo intlayer init viene creato automaticamente un set di due flussi di lavoro GitHub Actions pronti all'uso (vedi GitHub Actions creati automaticamente di seguito). L'esempio qui mostrato illustra la configurazione equivalente utilizzando il comando ci per un monorepo, dove le credenziali vengono iniettate per progetto da INTLAYER_PROJECT_CREDENTIALS.

    Nella tua configurazione CI/CD (ad esempio, GitHub Actions, GitLab CI), imposta INTLAYER_PROJECT_CREDENTIALS come segreto:

    yaml
    # Esempio GitHub Actions
    env:
      INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}
    
    steps:
      - name: Riempire dizionari
        run: npx intlayer ci fill
    

    GitHub Actions scaffoldati

    Quando esegui intlayer init, Intlayer rileva il tuo package manager (npm, yarn, pnpm, o bun) e scaffolda due workflow GitHub Actions in .github/workflows/, con comandi che corrispondono a quel package manager:

    • intlayer-fill.yml — Su ogni pull request, costruisce i dizionari ed esegue intlayer fill --git-diff --mode complete per generare le traduzioni mancanti per i dizionari modificati, quindi esegue il commit del risultato nel branch della PR.
    • intlayer-test.yml — Su ogni pull request, costruisce i dizionari ed esegue intlayer test, fallendo il check quando le locale richieste hanno traduzioni mancanti.

    I file di workflow esistenti non vengono mai sovrascritti. Per saltare completamente lo scaffolding, esegui:

    bash
    npx intlayer init --no-github-actions
    

    Fornire accesso AI al workflow di fill

    Il file intlayer-fill.yml scaffoldato richiede accesso AI. Sono disponibili due opzioni (configurate nel blocco env del workflow):

    1. La tua chiave di provider AI — Aggiungi un secret AI_API_KEY nelle impostazioni del repository (Settings → Secrets and variables → Actions). Il workflow la inoltra tramite --provider, --model, e --api-key.
    2. Chiavi di accesso Intlayer CMS — Aggiungi i secret INTLAYER_CLIENT_ID e INTLAYER_CLIENT_SECRET e collegali alla sezione editor del tuo intlayer.config. Le chiavi di accesso CMS concedono accesso AI tramite il backend di Intlayer.

    Il workflow intlayer-test.yml non richiede alcun accesso AI.

    Gestione degli errori

    • Se INTLAYER_PROJECT_CREDENTIALS non è impostata, il comando terminerà con un errore.
    • Se INTLAYER_PROJECT_CREDENTIALS non è un JSON valido, il comando terminerà con un errore.
    • Se un percorso di progetto non esiste, verrà saltato con un avviso.
    • Se un progetto fallisce, il comando terminerà con un codice di stato diverso da zero.

    Casi d'uso

    • Automatizzazione monorepo: Eseguire comandi Intlayer su più progetti in un monorepo
    • Pipeline CI/CD: Automatizzare la gestione dei dizionari nei flussi di lavoro di integrazione continua
    • Operazioni in batch: Eseguire la stessa operazione su più progetti Intlayer contemporaneamente
    • Gestione dei segreti: Gestire in modo sicuro le credenziali per più progetti utilizzando variabili d'ambiente

    Best practice di sicurezza

    • Archivia INTLAYER_PROJECT_CREDENTIALS come segreti crittografati nella tua piattaforma CI/CD
    • Non committare mai le credenziali nel controllo versione
    • Usa credenziali specifiche dell'ambiente per diversi ambienti di distribuzione
    • Ruota le credenziali regolarmente