Vue d’ensemble
Activer les builds différentiels
Activer le bouton bascule
Activez le bouton bascule Differential builds. La description affichée est la suivante : “Builds plus rapides grâce à la réutilisation des espaces de travail inchangés.”
Fonctionnement
1. Trouver un build parent
success ou partial) à utiliser comme parent. S’il n’existe aucun parent admissible, le build bascule automatiquement vers un build complet.
2. Comparer les blueprints
3. Attribuer des actions aux espaces de travail
| Action | Ce qui se passe | Quand elle est utilisée |
|---|---|---|
| Rebuild | Cloner le repo et exécuter toutes les étapes du blueprint (initialize + maintenance) depuis le début | Le blueprint a changé depuis le build parent |
| Inherit | Récupérer le code le plus récent et exécuter uniquement les étapes maintenance | Le blueprint est inchangé — réutiliser la configuration du parent |
| Remove | Supprimer l’espace de travail du snapshot | L’espace de travail a été supprimé de la configuration |
Pour les espaces de travail hérités,
initialize n’est pas exécuté à nouveau. Écrivez maintenance
de façon à ce qu’il soit autonome et puisse s’exécuter indépendamment après la récupération du code le plus récent.
Il peut utiliser des outils et des environnements d’exécution déjà installés dans le snapshot parent,
mais il ne doit pas nécessiter l’exécution préalable immédiate de initialize ni dépendre de
variables d’environnement que initialize a précédemment écrites dans $ENVRC.4. Exécuter le build
- Les espaces de travail hérités ont déjà leurs outils, environnements d’exécution et dépendances installés. Le système récupère la version la plus récente du code (
git pull) et exécute les commandesmaintenancepour mettre à jour les dépendances. - Les espaces de travail reconstruits sont recréés de zéro — reclonés puis soumis à toute la séquence
initialize+maintenance. - Les espaces de travail supprimés voient leurs répertoires nettoyés.
initialize lors des builds différentiels (puisque ces outils sont déjà présents dans l’image parente) et n’exécutent que maintenance.
$ENVRC est réinitialisé au début de chaque build, y compris des builds différentiels.
Les variables d’environnement et les entrées PATH écrites dans $ENVRC par un build précédent
ne sont pas héritées. Si maintenance en a besoin, il doit les configurer
lui-même.Quand un build complet est lancé à la place
- Aucun build parent n’existe — premier build, ou tous les builds précédents ont échoué
- Le blueprint de l’organisation ou le blueprint d’entreprise a changé — les modifications globales affectent tous les espaces de travail, donc un rebuild propre est plus sûr
- L’ordre des repositories a changé — comme les dépôts peuvent dépendre de la configuration les uns des autres, un réordonnancement déclenche un rebuild complet
- Le build parent est trop ancien ou incompatible — le système vérifie que le parent est compatible
Voir le type de build
- Accédez à Settings > Environment > Snapshots
- Cliquez sur un build dans l’historique
- Le badge Type de build affiche Différentiel (bleu) ou Build complet (par défaut)
- Différentiel : “Seuls les espaces de travail modifiés sont reconstruits ; les espaces de travail inchangés sont repris du dernier build réussi avec la même configuration”
- Build complet : “Tous les espaces de travail sont reconstruits à partir de zéro”
Avantages
| Avantage | Description |
|---|---|
| Builds plus rapides | Seuls les espaces de travail modifiés passent par le processus complet de configuration. Les espaces de travail hérités n’exécutent pas du tout initialize. |
| Moins de trafic réseau | Les espaces de travail inchangés ne retéléchargent pas les outils, les environnements d’exécution ni les dépendances volumineuses. |
| Itération plus rapide | Lorsque vous itérez sur le blueprint d’un seul dépôt, les autres dépôts ne ralentissent pas le build. |
| Même fiabilité | Si quelque chose semble incorrect, le système bascule automatiquement sur un build complet. Vous pouvez aussi déclencher manuellement un build complet à tout moment. |
Déclencher manuellement un build complet
initialize et maintenance.
FAQ
L’activation des builds différentiels affecte-t-elle mes sessions ?
L’activation des builds différentiels affecte-t-elle mes sessions ?
Non. Les sessions démarrent toujours à partir du snapshot final, quelle que soit la manière dont il a été généré. La seule différence concerne la vitesse du build.
Que faire si un build différentiel produit un snapshot défectueux ?
Que faire si un build différentiel produit un snapshot défectueux ?
Épinglez un build antérieur fiable depuis Settings > Environment > Snapshots, puis déclenchez un build complet pour obtenir un snapshot propre. Vous pouvez aussi désactiver complètement les builds différentiels pour revenir aux builds complets.
Les builds partiels peuvent-ils servir de parents ?
Les builds partiels peuvent-ils servir de parents ?
Oui. Un build dont le statut est
partial (certains espaces de travail ont réussi, d’autres ont échoué) peut servir de parent. Le système n’hérite que des espaces de travail ayant réussi dans le parent.
