Nx Console incontra Nx Cloud

Jan 18 2023
Abbiamo appena rilasciato Nx Console 17.28.

Abbiamo appena rilasciato Nx Console 17.28.0 e viene fornito con una nuova enorme funzionalità: Nx Cloud Integration, proprio in VSCode!

Nel caso in cui non sei sicuro di cosa faccia, Nx Cloud porta il tuo spazio di lavoro Nx al livello successivo con fantastiche funzionalità come:

  • Caching remoto : condividi la tua cache Nx con i tuoi colleghi e gli agenti CI. Utilizzando Nx Cloud, puoi essere certo che nessun calcolo venga eseguito due volte, in tutta la tua azienda.
  • Esecuzione di attività distribuite : la funzionalità più importante per scalare realmente i repository. Nx conosce già il grafico del tuo progetto e quali attività dipendono l'una dall'altra. Con Nx Cloud, puoi sfruttare questa conoscenza per distribuire le attività in modo intelligente tra più agenti, assicurandoti che tutto venga eseguito nella sequenza corretta. Questo può accelerare i tuoi tempi CI di ordini di grandezza!
  • Integrazione VCS [sistema di controllo versione] : guarda i risultati delle tue esecuzioni CI direttamente sulla tua richiesta pull! Nx Cloud può comunicare con GitHub e altri sistemi di controllo della versione in tempo reale, offrendoti una panoramica dei successi e dei fallimenti man mano che si verificano.

Vai su nx.app per saperne di più.

Preferisci una guida video? Eccoci qui

Mostrami già le nuove funzionalità!

Ora che ci siamo informati, diamo un'occhiata a come Nx Console semplificherà ancora di più la connessione e l'utilizzo di Nx Cloud.

Per continuare, assicurati di aver installato l'ultima versione di Nx Console:
Nx Console — Visual Studio Marketplace

Nella barra laterale Nx, vedrai una nuova sezione Nx Cloud.

Se il tuo spazio di lavoro non utilizza Nx Cloud, fai clic sul pulsante "Configura Nx Cloud" per configurare automaticamente il cloud runner.

Vedrai che alcuni cambiamenti avvengono nel tuo nx.json:

"default": {
- "runner": "nx/tasks-runners/default",
+ "runner": "@nrwl/nx-cloud",
  "options": {
+   "accessToken": "NDM2MmU2YmUtNDFl…ifHJlYWQtd3JpdGU=",
    "cacheableOperations": [
      "build",
      "lint",
      "test",
      "e2e"
    ],
   }
 }

Eseguire la tua prima attività

Proviamo! Seleziona un'attività da eseguire e visualizza i risultati nell'elenco di esecuzione. Puoi ottenere un'analisi ancora più dettagliata nell'app Web Nx Cloud.

Se esegui nuovamente la stessa attività, puoi vedere che il tempo impiegato per il completamento è inferiore a un secondo. Ciò è dovuto alla memorizzazione nella cache di calcolo avanzata di Nx . Ogni volta che viene eseguita un'attività, Nx la memorizza nella cache. Se l'attività è stata eseguita in precedenza, ripristina solo il risultato dalla cache. Per impostazione predefinita, questa cache è locale sulla tua workstation. Tuttavia, con Nx Cloud, puoi distribuirlo e condividerlo tra le macchine.

Per vederlo in azione, esegui il push del tuo token di accesso appena creato e chiedi a un collega (o pipeline CI) di eseguire un'attività sulla propria macchina. Se esegui di nuovo la stessa attività, verrà estratta dalla cache proprio come ha fatto localmente!

Per saperne di più sui token di accesso a Nx Cloud, vai ai documenti: Documentazione sui token di accesso .

Rivendicare il tuo spazio di lavoro

Se hai appena iniziato a utilizzare Nx Cloud, probabilmente vedrai questo messaggio che ti chiede di richiedere il tuo spazio di lavoro:

Fuori dagli schemi, Nx Cloud funziona senza la necessità di registrarsi. Tuttavia, si consiglia vivamente di creare un account e associarlo al proprio spazio di lavoro. Questo processo si chiama rivendicare il tuo spazio di lavoro ed è diventato molto più semplice con Nx Console! Dopo aver effettuato la richiesta, puoi assumere il pieno controllo del tuo spazio di lavoro nel cloud, gestire le restrizioni di accesso e altre impostazioni.

Basta fare clic su "Accedi e richiedi il tuo spazio di lavoro" per essere reindirizzato al browser dove puoi accedere a Nx Cloud o creare un account. Dopo aver eseguito correttamente l'autenticazione, tornerai a VSCode, dove potrai selezionare una delle tue organizzazioni e connettervi il tuo spazio di lavoro.

D'ora in poi, Nx Console sarà in grado di effettuare richieste autenticate all'API cloud, quindi anche se scegli di rendere privato il tuo spazio di lavoro, gli utenti registrati che sono autorizzati ad accedervi possono farlo.

Esecuzione di attività distribuite

L'esecuzione di attività distribuite (DTE) diventa molto importante man mano che il tuo spazio di lavoro cresce. Con Nx, potenti funzionalità come la cache di calcolo e l'analisi interessata ti aiutano a ridurre drasticamente i tempi di CI. La maggior parte delle volte, gran parte della tua base di codice non dovrà essere ricostruita e testata nuovamente. Tuttavia, dobbiamo anche considerare gli scenari peggiori. Supponiamo che tu modifichi una libreria principale da cui dipende tutto nel tuo monorepo. Ciò potrebbe significare centinaia o addirittura migliaia di progetti che devono essere ricostruiti e testati nuovamente, il che significherebbe ore di tempo CI. Questo è ovviamente molto poco pratico e dovresti prendere in considerazione soluzioni che ti consentano di parallelizzare tutto questo lavoro e mantenere i tempi di CI nel caso peggiore a un livello ragionevole. Ci sono diversi approcci per raggiungere questo obiettivoma è difficile ottenere risultati corretti e non è qualcosa su cui la maggior parte dei team vuole spendere risorse ingegneristiche.

L'esecuzione distribuita delle attività con Nx Cloud risolve questo problema: consente di parallelizzare in modo ottimale le attività senza pensare alle loro interdipendenze o alla gestione degli agenti. Non è necessario utilizzarlo immediatamente, ma è utile se si desidera mantenere bassi i tempi di integrazione continua anche quando l'area di lavoro cresce.

DTE è disponibile per tutti gli spazi di lavoro Nx Cloud con una configurazione minima. Se vedi uno stato DTE giallo in Nx Console, significa semplicemente che non l'hai ancora utilizzato. Dai un'occhiata ai documenti per saperne di più sulla motivazione per DTE e su come testarlo nel tuo spazio di lavoro .

Integrazione VCS

Nx Cloud non è eccezionale solo per le sue funzionalità di cache remota e DTE, ma genera anche report leggibili e ricercabili per qualsiasi attività eseguita, che si tratti di 10 o 10.000. In un monorepo, le tue pipeline CI raramente eseguiranno solo una singola attività. È più comune avere comandi del tipo nx affected — -target=buildche equivale a "ricostruire tutto ciò che è cambiato". Questo potrebbe potenzialmente essere dozzine, centinaia o migliaia di attività. Se qualcosa va storto, sfogliare migliaia e migliaia di righe di registri diventa rapidamente noioso. Quindi avere una vista per target ben strutturata che puoi filtrare e ordinare pur preservando tutto lo stile del terminale è incredibilmente utile!

Per sfruttare queste preziose informazioni senza modificare il tuo flusso di lavoro di sviluppo, utilizza l'integrazione Nx Cloud per la tua piattaforma preferita: Github, GitLab o Bitbucket Cloud. Puoi vedere i risultati delle tue esecuzioni cloud in un commento PR con una panoramica delle attività non riuscite e collegamenti a output facilmente leggibili. Non dovrai più scorrere infiniti registri finché non trovi ciò di cui hai bisogno!

Per configurarlo, basta fare clic sul pulsante nella visualizzazione cloud di Nx Console e seguire le istruzioni nel browser. Leggi di più nella guida completa su come connettere il tuo spazio di lavoro a VCS.

Saperne di più

- [Nx Documenti](https://nx.dev/)
- ‍ [Nx GitHub](https://github.com/nrwl/nx)
- [Nx Console GitHub](https://github.com/nrwl/nx-console)
- [Nx Community Slack](https://go.nrwl.io/join-slack)
- [Nx Canale Youtube](https://www.youtube.com/@nxdevtools)

Inoltre, se ti è piaciuto, fai clic su e assicurati di seguire Max e Nx su Twitter per saperne di più!