Aller au contenu principal
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Guide de l'exécution distribuée de tâches

Les illustrations de ce guide ont été créées par Nicole Oliver, membre de la communauté Nx.

Comment fonctionne l'exécution distribuée de tâches dans Nx Cloud ?

Qu'est-ce qu'une tâche ?

Qu'est-ce qu'une tâche ? projet + cible (ex : shared-product-ui + test). Chaque exécution contient plusieurs tâches. affected comprend shared-product-ui, product-page, shared-e2e-util et shared-ui

Du point de vue de Lerna, une tâche correspond à une cible exécutée sur un projet. Par exemple, l'exécution de la cible test sur le projet shared-product-ui constitue une tâche. Pour plus d'informations sur les tâches, consultez l'article Exécution de tâches.

Nx Cloud planifie automatiquement vos tâches CI

Lorsque vous activez DTE, Nx planifiera les tâches de vos commandes en CI. Par exemple, imaginons que vous souhaitiez exécuter ces 3 commandes pour vérifier votre code : nx affected --target=lint, nx affected --target=test et nx affected --target=build

Imaginons que pour chaque PR en CI, vous souhaitiez linter, tester et builder tous les projets affectés. Lorsque vous concevez votre workflow CI, vous ne pouvez anticiper ni le nombre de projets impactés par chaque PR ni la durée d'exécution de chaque tâche. Quelle que soit la minutie de votre configuration, une attribution manuelle d'un nombre statique de machines agents pour le linting, les tests et le build entraînera inévitablement du temps perdu. Cette approche est appelée binning.

Heureusement, avec l'exécution distribuée de tâches, Nx Cloud peut attribuer dynamiquement les tâches aux agents dès qu'ils deviennent disponibles.

Nx Cloud orchestre efficacement les agents

Nx planifiera automatiquement les tâches avec les agents que vous attribuez en CI.

Lorsque vous configurez DTE, vous définissez (1) les tâches à exécuter et (2) le nombre d'agents disponibles pour Nx Cloud. L'orchestrateur de Nx Cloud répartit alors les tâches entre les agents de manière optimale - garantissant une utilisation maximale des ressources et une terminaison accélérée de votre processus CI.

L'ordre d'exécution des tâches est crucial

Certaines tâches ne dépendent-elles pas des résultats d'autres ? Oui ! Nx connaît votre arbre de dépendances, il exécutera donc les tâches dans le bon ordre et garantira la disponibilité des résultats là où nécessaire.

Certaines tâches doivent s'exécuter avant d'autres, et Nx Cloud en tient compte lors de leur attribution aux agents. Pour approfondir la définition de ces dépendances, lisez l'article Exécution de tâches.

Pourquoi distribuer les tâches ?

Résultat : des builds plus rapides !

Un parallélisme efficace de votre processus CI sur plusieurs agents accélère considérablement votre CI, aidant les développeurs à identifier les problèmes plus vite et à être plus productifs.

Quel est le coût ?

Nx Cloud est GRATUIT pour les projets open source. Contactez cloud-support@nrwl.io pour la configuration.

Pour les projets closed source, les 500 premières heures de calcul mensuelles sont gratuites. La plupart des espaces de travail restent dans cette limite. Aucune carte bancaire n'est exigée. Au-delà de 500 heures, le coût est de $1 par heure de calcul.

Pour plus de détails, consultez la page tarifaire de Nx Cloud.

Sécurité

Votre code source n'est pas stocké dans le cloud, mais les entrées hachées et les résultats mis en cache de vos tâches le sont. Un chiffrement de bout en bout peut être activé pour ces données, empêchant tout accès non autorisé sans votre clé. De plus, pour héberger Nx Cloud sur vos propres serveurs, souscrivez à Nx Cloud Enterprise.

Exemple

Voici un dépôt d'exemple démontrant la simplicité de configuration de l'exécution distribuée de tâches, présentant les gains de performance et comparant avec le sharding/binning.

Illustration

Voici la page d'explication illustrée complète créée par Nicole Oliver :

Comment fonctionne DTE - Explication