Nx-Konsole trifft auf Nx-Cloud

Jan 18 2023
Wir haben gerade Nx Console 17.28 veröffentlicht.

Wir haben gerade Nx Console 17.28.0 veröffentlicht und sie verfügt über eine riesige neue Funktion: Nx Cloud Integration, direkt in VSCode!

Falls Sie sich nicht sicher sind, was es kann: Nx Cloud bringt Ihren Nx-Arbeitsbereich mit tollen Funktionen auf die nächste Ebene:

  • Remote-Caching – Teilen Sie Ihren Nx-Cache mit Ihren Kollegen und CI-Agenten. Durch den Einsatz von Nx Cloud können Sie sicher sein, dass keine Berechnung doppelt durchgeführt wird – im gesamten Unternehmen.
  • Verteilte Aufgabenausführung – die wichtigste Funktion für die echte Skalierung von Repositorys. Nx kennt Ihren Projektgraphen bereits und weiß, welche Aufgaben voneinander abhängen. Mit Nx Cloud können Sie dieses Wissen nutzen, um Aufgaben intelligent auf mehrere Agenten zu verteilen und gleichzeitig sicherzustellen, dass alles in der richtigen Reihenfolge ausgeführt wird. Dies kann Ihre CI-Zeiten um Größenordnungen verkürzen!
  • VCS- Integration (Versionskontrollsystem) – sehen Sie die Ergebnisse Ihrer CI-Läufe direkt auf Ihrem Pull-Request! Nx Cloud kann in Echtzeit mit GitHub und anderen Versionskontrollsystemen kommunizieren und Ihnen einen Überblick über Erfolge und Misserfolge verschaffen, sobald diese eintreten.

Besuchen Sie nx.app , um mehr zu erfahren.

Bevorzugen Sie eine Video-Komplettlösung? Auf geht's

Zeigen Sie mir schon jetzt die neuen Funktionen!

Da wir nun auf dem Laufenden sind, schauen wir uns an, wie Nx Console die Verbindung zu Nx Cloud und die Arbeit damit noch einfacher macht.

Um mitzumachen, stellen Sie sicher, dass Sie die neueste Nx Console-Version installiert haben:
Nx Console – Visual Studio Marketplace

In der Nx-Seitenleiste sehen Sie einen neuen Abschnitt „Nx Cloud“.

Wenn Ihr Arbeitsbereich Nx Cloud nicht verwendet, klicken Sie auf die Schaltfläche „Nx Cloud einrichten“, um den Cloud Runner automatisch einzurichten.

Sie werden sehen, dass einige Änderungen in Ihrem nx.json:

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

Führen Sie Ihre erste Aufgabe aus

Probieren wir es aus! Wählen Sie eine auszuführende Aufgabe aus und sehen Sie sich die Ergebnisse in der Ausführungsliste an. Eine noch detailliertere Aufschlüsselung erhalten Sie in der Nx Cloud-Web-App.

Wenn Sie dieselbe Aufgabe erneut ausführen, können Sie feststellen, dass die Ausführungszeit weniger als eine Sekunde beträgt. Dies liegt an der erweiterten Berechnungszwischenspeicherung von Nx . Immer wenn eine Aufgabe ausgeführt wird, wird sie von Nx zwischengespeichert. Wenn die Aufgabe schon einmal ausgeführt wurde, stellt sie lediglich das Ergebnis aus dem Cache wieder her. Standardmäßig ist dieser Cache lokal auf Ihrer eigenen Workstation. Mit Nx Cloud können Sie es jedoch zwischen Maschinen verteilen und teilen.

Um es in Aktion zu sehen, übertragen Sie Ihr neu erstelltes Zugriffstoken und lassen Sie einen Kollegen (oder eine CI-Pipeline) eine Aufgabe auf seinem Computer ausführen. Wenn Sie dieselbe Aufgabe erneut ausführen, wird sie genau wie lokal aus dem Cache abgerufen!

Um mehr über Nx Cloud-Zugriffstoken zu erfahren, gehen Sie zu den Dokumenten: Access Tokens Documentation .

Beanspruchen Sie Ihren Arbeitsbereich

Wenn Sie gerade erst mit der Nutzung von Nx Cloud begonnen haben, wird Ihnen wahrscheinlich diese Meldung angezeigt, die Sie dazu auffordert, Ihren Arbeitsbereich zu beanspruchen:

Nx Cloud funktioniert sofort, ohne dass eine Registrierung erforderlich ist. Es wird jedoch dringend empfohlen, ein Konto zu erstellen und es mit Ihrem Arbeitsbereich zu verknüpfen. Dieser Vorgang wird als „Beanspruchen Ihres Arbeitsbereichs“ bezeichnet und ist mit Nx Console viel einfacher geworden! Nach der Beantragung können Sie die volle Kontrolle über Ihren Cloud-Arbeitsbereich übernehmen, Zugriffsbeschränkungen und andere Einstellungen verwalten.

Klicken Sie einfach auf „Anmelden und Ihren Arbeitsbereich beanspruchen“, um zum Browser weitergeleitet zu werden, in dem Sie sich bei Nx Cloud anmelden oder ein Konto erstellen können. Nach erfolgreicher Authentifizierung kehren Sie zu VSCode zurück, wo Sie eine Ihrer Organisationen auswählen und Ihren Arbeitsbereich damit verbinden können.

Von nun an kann die Nx-Konsole authentifizierte Anfragen an die Cloud-API stellen. Selbst wenn Sie Ihren Arbeitsbereich privat machen, können angemeldete Benutzer, die zum Zugriff darauf berechtigt sind, dies tun.

Verteilte Aufgabenausführung

Distributed Task Execution (DTE) wird immer wichtiger, wenn Ihr Arbeitsbereich wächst. Mit Nx helfen Ihnen leistungsstarke Funktionen wie Berechnungs-Caching und betroffene Analysen dabei, Ihre CI-Zeiten drastisch zu verkürzen. In den meisten Fällen müssen große Teile Ihrer Codebasis nicht neu erstellt und erneut getestet werden. Allerdings müssen wir auch die Worst-Case-Szenarien berücksichtigen. Nehmen wir an, Sie ändern eine Kernbibliothek, von der alles in Ihrem Monorepo abhängt. Dies könnte bedeuten, dass Hunderte oder sogar Tausende von Projekten neu erstellt und erneut getestet werden müssten, was Stunden an CI-Zeit bedeuten würde. Dies ist offensichtlich sehr unpraktisch und Sie sollten Lösungen in Betracht ziehen, die es Ihnen ermöglichen, all diese Arbeiten zu parallelisieren und die CI-Zeiten im ungünstigsten Fall auf einem angemessenen Niveau zu halten. Um dies zu erreichen, gibt es unterschiedliche AnsätzeAber es ist schwierig, es richtig zu machen, und die meisten Teams möchten dafür keine technischen Ressourcen aufwenden.

Die verteilte Aufgabenausführung mit Nx Cloud löst dieses Problem – sie ermöglicht Ihnen die optimale Parallelisierung von Aufgaben, ohne über deren gegenseitige Abhängigkeiten oder Agentenverwaltung nachzudenken. Sie müssen es nicht sofort verwenden, aber es ist nützlich, wenn Sie Ihre CI-Zeiten auch bei einem wachsenden Arbeitsbereich niedrig halten möchten.

DTE ist für alle Nx Cloud-Arbeitsbereiche mit minimalem Setup verfügbar. Wenn in der Nx-Konsole ein gelber DTE-Status angezeigt wird, bedeutet das nur, dass Sie ihn noch nicht verwendet haben. Schauen Sie sich die Dokumente an , um mehr über die Motivation für DTE zu erfahren und wie Sie es an Ihrem Arbeitsplatz testen können .

VCS-Integration

Nx Cloud ist nicht nur wegen seiner Remote-Caching- und DTE-Funktionen großartig, es generiert auch lesbare und durchsuchbare Berichte für alle ausgeführten Aufgaben – egal, ob es 10 oder 10.000 sind. In einem Monorepo führen Ihre CI-Pipelines selten nur eine einzige Aufgabe aus. Es kommt häufiger vor, dass es Befehle wie nx affected — -target=build„Alles neu erstellen, was sich geändert hat“ gibt. Dies können möglicherweise Dutzende, Hunderte oder Tausende von Aufgaben sein. Wenn etwas schief geht, wird das Durchforsten tausender Protokollzeilen schnell mühsam. Daher ist es unglaublich nützlich, über eine gut strukturierte Ansicht pro Ziel zu verfügen, die Sie filtern und sortieren können, ohne dabei den Terminalstil zu verlieren!

Um diese wertvollen Informationen zu nutzen, ohne Ihren Entwicklungsworkflow zu ändern, nutzen Sie die Nx Cloud-Integration für Ihre bevorzugte Plattform: Github, GitLab oder Bitbucket Cloud. Die Ergebnisse Ihrer Cloud-Läufe können Sie in einem PR-Kommentar mit einer Übersicht über fehlgeschlagene Aufgaben und Links zu leicht lesbaren Ausgaben sehen. Kein Scrollen mehr durch endlose Protokolle, bis Sie gefunden haben, was Sie brauchen!

Um es einzurichten, klicken Sie einfach auf die Schaltfläche in der Cloud-Ansicht der Nx-Konsole und folgen Sie den Anweisungen in Ihrem Browser. Lesen Sie mehr in der vollständigen Anleitung zum Verbinden Ihres Arbeitsbereichs mit VCS.

Erfahren Sie mehr

- [Nx-Dokumente](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 Youtube-Kanal](https://www.youtube.com/@nxdevtools)

Wenn Ihnen das gefallen hat, klicken Sie auf und folgen Sie Max und Nx auf Twitter, um mehr zu erfahren!