Panoramica
Abilitare le build differenziali
Attiva l'opzione
Attiva l’opzione build differenziale. La descrizione è: “Build più rapide grazie al riutilizzo dei workspace invariati.”
Come funziona
1. Trovare una build padre
success o partial) da usare come build padre. Se non esiste una build padre valida, il sistema passa automaticamente a una build completa.
2. Confronta i blueprint
3. Assegna le azioni ai workspace
| Azione | Cosa succede | Quando si usa |
|---|---|---|
| Ricostruisci | Clona la repo ed esegue tutti i passaggi del blueprint (initialize + maintenance) da zero | Il blueprint è cambiato rispetto alla build padre |
| Eredita | Recupera il codice più recente ed esegue solo i passaggi maintenance | Il blueprint non è cambiato — riutilizza la configurazione del padre |
| Rimuovi | Elimina il workspace dallo snapshot | Il workspace è stato rimosso dalla configurazione |
Per i workspace ereditati,
initialize non viene eseguito di nuovo. Scrivi maintenance
in modo che sia autosufficiente e possa essere eseguito in autonomia dopo aver
recuperato il codice più recente. Può usare strumenti e runtime già installati nello snapshot padre,
ma non deve richiedere che initialize venga eseguito immediatamente prima né basarsi su
variabili d’ambiente che initialize ha precedentemente scritto in $ENVRC.4. Esegui la build
- I workspace ereditati hanno già strumenti, runtime e dipendenze installati. Il sistema recupera il codice più recente (
git pull) ed esegue i comandimaintenanceper aggiornare le dipendenze. - I workspace ricostruiti vengono configurati da zero: clonati di nuovo ed eseguiti con la sequenza completa
initialize+maintenance. - I workspace rimossi vengono ripuliti dalle rispettive directory.
initialize durante le build differenziali (poiché questi strumenti sono già presenti nell’immagine padre) ed eseguono solo maintenance.
$ENVRC viene reimpostato all’inizio di ogni build, incluse le build differenziali.
Le variabili d’ambiente e le voci di PATH scritte in $ENVRC da una build precedente
non vengono ereditate. Se maintenance ne ha bisogno, deve configurarle
autonomamente.Quando viene eseguita invece una build completa
- Non esiste alcuna build padre — prima build, oppure tutte le build precedenti non sono andate a buon fine
- Il blueprint dell’organizzazione o Enterprise è cambiato — le modifiche globali interessano tutti i workspace, quindi una ricostruzione pulita è più sicura
- L’ordine dei repository è cambiato — poiché le repo possono dipendere dalla configurazione reciproca, una riorganizzazione attiva una ricostruzione completa
- La build padre è troppo vecchia o incompatibile — il sistema verifica che la build padre sia adatta
Visualizzare il tipo di build
- Vai a Settings > Environment > Snapshots
- Fai clic su una build nella cronologia
- Il badge Build kind mostra Differential (blu) oppure build completa (predefinito)
- Differential: “Vengono ricostruiti solo i workspace modificati; quelli invariati vengono ereditati dall’ultima build riuscita con la stessa configurazione”
- build completa: “Tutti i workspace vengono compilati da zero”
Vantaggi
| Vantaggio | Descrizione |
|---|---|
| Build più rapidi | Solo i workspace modificati passano attraverso l’intero processo di configurazione. I workspace ereditati saltano completamente initialize. |
| Minore utilizzo della rete | I workspace invariati non riscaricano strumenti, runtime o dipendenze di grandi dimensioni. |
| Iterazione più rapida | Quando iteri sul blueprint di una singola repo, le altre repo non rallentano la build. |
| Stessa affidabilità | Se qualcosa non sembra corretto, il sistema torna automaticamente a una build completa. Puoi anche attivare manualmente una build completa in qualsiasi momento. |
Avviare manualmente una build completa
initialize e maintenance.
Domande frequenti
L'attivazione delle build differenziali influisce sulle mie sessioni?
L'attivazione delle build differenziali influisce sulle mie sessioni?
No. Le sessioni si avviano sempre dallo snapshot finale, indipendentemente da come è stato generato. L’unica differenza è la velocità della build.
Cosa succede se una build differenziale produce uno snapshot non valido?
Cosa succede se una build differenziale produce uno snapshot non valido?
Blocca una build precedente nota come valida da Settings > Environment > Snapshots, quindi avvia una build completa per ottenere uno snapshot pulito. Puoi anche disattivare del tutto le build differenziali per tornare alle build complete.
Le build parziali possono fungere da parent?
Le build parziali possono fungere da parent?
Sì. Una build con stato
partial (alcuni workspace completati correttamente, altri non riusciti) può fungere da parent. Il sistema eredita solo dai workspace completati correttamente nel parent.
