Scalabilità orizzontale del sistema di compilazione
Per utilizzare Team Foundation Build per la compilazione e i test automatizzati dell'applicazione, è necessario innanzitutto configurare un server di compilazione, aggiungere un controller di compilazione e alcuni agenti di compilazione e infine indicare una cartella di ricezione.Nel caso di un piccolo team di avvio che lavora su un nuovo progetto, è probabilmente possibile distribuire tali componenti del sistema di compilazione su un computer singolo in pochi minuti.Man mano che le dimensioni del team e della codebase aumentano, è possibile espandere in maniera incrementale il sistema di compilazione con relativa facilità.
Suggerimento |
---|
Se la raccolta di progetti team è ospitata su Team Foundation Service, è possibile ignorare tutte queste operazioni e utilizzare invece il Controller di compilazione ospitato come di seguito illustrato. |
Sono riportati di seguito alcuni esempi che illustrano come è possibile avviare in modo semplice il sistema di compilazione di cui successivamente si eseguirà la scalabilità orizzontale quando i requisiti diventano più complessi.
Team Foundation Service con controller di compilazione ospitato
Team Foundation Service con server di compilazione locali
Sistema di compilazione per l'utilizzo di prova o un team molto piccolo
Sistema di compilazione per un piccolo team
Sistemi di server a più compilazioni
Sistema di compilazione per il supporto di più raccolte di progetti team
Passaggi successivi
Team Foundation Service con controller di compilazione ospitato
Se la raccolta di progetti team è ospitata su Team Foundation Service, è possibile utilizzare il controller di compilazione ospitato invece di distribuire i propri server di compilazione.
Team Foundation Service con server di compilazione locali
Se la raccolta di progetti team è ospitata su Team Foundation Service e il team necessita di grandi dimensioni o di agenti di compilazione personalizzati, è possibile connettere i server di compilazione locali a Team Foundation Service.
Sistema di compilazione per l'utilizzo di prova o un team molto piccolo
Se si utilizza Team Foundation Server di base o si utilizza un team di lavoro molto piccolo, potrebbe essere utilizzata la topologia seguente.
Questa topologia potrà funzionare per un team che esegue compilazioni raramente e solo in orari non di ufficio, ad esempio un team che esegue solo una singola compilazione notturna.Tuttavia, per molti team, è insufficiente perché:
L'agente di compilazione richiede un utilizzo intensivo di risorse del processore, causando una significativa riduzione delle prestazioni del livello applicazione.
Il controller di compilazione può avere un notevole impatto sulla memoria di sistema, specialmente se gestisce contemporaneamente molti agenti di compilazione attivi.
L'installazione di servizio Team Foundation Build aumenta la superficie di attacco del computer.Vedere Server di compilazione: comprendere rischi per la sicurezza.
Sistema di compilazione per un piccolo team
Se si utilizza un piccolo team con Team Foundation Server locale, considerare questa topologia:
Poiché il lavoro che richiede un utilizzo intensivo del processore viene eseguito dagli agenti di compilazione su un computer separato, l'esecuzione delle compilazioni non influisce sulle prestazioni del livello applicazione.
È inoltre possibile eseguire il controller di compilazione sul server di compilazione dedicato.Tuttavia, la topologia mostrata nell'illustrazione presenta il vantaggio di rendere meno distruttive le modifiche apportate al sistema di compilazione, come quando è necessario riparare o sostituire il server di compilazione.
Sistemi di server a più compilazioni
Mentre la dimensione del team e della codebase aumentano, è possibile aggiungere gradualmente le risorse per soddisfare i requisiti.Ad esempio, è possibile aggiungere un ulteriore controller e gli agenti di compilazione.
La presenza del controller di compilazione A sullo stesso computer del livello applicazione non è generalmente un problema dal punto di vista del processore.Tuttavia, è possibile spostare il controller di compilazione in un altro server a causa dei problemi di utilizzo elevato della memoria e di superficie di attacco indicati in precedenza.
L'utilizzo di più server di compilazione consente di dedicare ogni server a uno scopo diverso, come descritto nei seguenti esempi:
Un server di compilazione su un computer a elevate prestazioni dedicato agli agenti di compilazione che elaborano le compilazioni di integrazione continuata o di archiviazione gestita.Il team ha l'esigenza che le compilazioni di questo tipo, specialmente quelle di archiviazione gestita, vengano eseguite rapidamente in modo da non dover sospendere il lavoro in attesa di una compilazione.
Un server di compilazione dedicato alle compilazioni dei test di verifica della compilazione BVT notturni che richiedono lunghi tempi di esecuzione di processi come le esecuzioni di test di ampi dimensioni e le analisi codice.
Un server di compilazione dedicato e pronto per eseguire attività specializzate come compilazione e test di un'applicazione Windows Store.
Suggerimento |
---|
In tali scenari è possibile applicare i tag agli agenti di compilazione specializzati e quindi limitare le definizioni di compilazione per utilizzare solo gli agenti di compilazione con l'insieme corretto di tag.Vedere Assegnare tag per rappresentare le funzionalità o i fini dell'agente di compilazione, Specificare quali agenti di compilazione elaborano la compilazione per un processo di compilazione predefinito semplice e Eseguire attività nell'agente di compilazione per un processo avanzato di compilazione personalizzato. |
Sistema di compilazione per il supporto di più raccolte di progetti team
Nell'esempio di topologia del sistema di compilazione seguente può essere supportato un progetto software di livello aziendale.
Ogni raccolta di progetti team deve disporre di un controller di compilazione, come mostrato in precedenza.Notare come questa topologia isoli i server di compilazione.I membri del team che operano con la raccolta di progetti team A possono utilizzare solo gli agenti di compilazione controllati dal controller di compilazione A.Questo vincolo potrebbe essere utile nelle situazioni in cui è necessario mantenere sotto stretto controllo l'accesso alla proprietà intellettuale più riservata.
Passaggi successivi
Distribuire e utilizzare un server di compilazione
Per utilizzare Team Foundation Build con un Team Foundation Server locale, è necessario implementare almeno un server di compilazione.È possibile inoltre connettere uno o più server di compilazione locali a Team Foundation Service.Suggerimento Mentre si esegue la scalabilità orizzontale del sistema, è possibile sostituire un server di compilazione esistente quando si distribuisce un nuovo server di compilazione.Ad esempio, è possibile ospitare la stessa configurazione e l'insieme di controller di compilazione e di agenti di compilazione su un nuovo computer, più potente.Vedere Installare il servizio Team Foundation Build.
Distribuire e configurare un controller di compilazione
Utilizzare un solo controller di compilazione per il pooling di uno o più agenti di compilazione.È possibile ospitare un solo controller di compilazione in un server di compilazione.Distribuzione e configurazione degli agenti di compilazione
Utilizzare un agente di compilazione per eseguire il lavoro della compilazione che richiede un utilizzo intensivo del processore e che comprende il recupero di file dal controllo della versione, il provisioning dell'area di lavoro, la compilazione del codice e l'esecuzione di test.Configurare cartelle di ricezione
È possibile impostare e preparare una o più cartelle di ricezione in modo che il sistema di compilazione possa mettere a disposizione del team i file binari, i risultati test e i file di log.Gestire il sistema di compilazione
Dopo avere distribuito il server di compilazione, è possibile gestirlo dalla console di amministrazione di Team Foundation.È possibile gestire il controller e gli agenti di compilazione dalla console di amministrazione di Team Foundation o da Visual Studio.Utilizzare Team Foundation Build
Con il posizionamento del sistema di compilazione, il team è pronto per creare un processo di compilazione semplice (ad esempio, una compilazione di integrazione continuata) e per trarre vantaggio dalla compilazione e dal test automatizzato dell'applicazione.