Scalare orizzontalmente il 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, è possibile distribuire tutti questi 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 Visual Studio Online, è possibile ignorare tutti questi passaggi e utilizzare invece il Controller di compilazione ospitato, come di seguito illustrato.
Di seguito sono riportati alcuni esempi che illustrano come avviare il sistema di compilazione in modo semplice e successivamente eseguirne la scalabilità orizzontale man mano che i requisiti diventano più complessi.
Visual Studio Online con Controller di compilazione ospitato
Visual Studio Online 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 con più server di compilazione
Sistema di compilazione per il supporto di più raccolte di progetti team
Passaggi successivi
Visual Studio Online con Controller di compilazione ospitato
Se la raccolta di progetti team è ospitata su Visual Studio Online, è possibile utilizzare il controller di compilazione ospitato invece di distribuire i propri server di compilazione.
Visual Studio Online con server di compilazione locali
Se la raccolta di progetti team è ospitata su Visual Studio Online e il team necessita di dimensioni maggiori o di agenti di compilazione personalizzati, è possibile connettere i server di compilazione locali a Visual Studio Online.
Sistema di compilazione per l'utilizzo di prova o un team molto piccolo
Se si utilizza Team Foundation Server come prova o si utilizza un team di lavoro molto piccolo, potrebbe essere adatta la topologia seguente.
Questa topologia potrà funzionare per un team che esegue le 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 vulnerabile del computer. Vedere Server di compilazione: 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, ad esempio quando è necessario riparare o sostituire il server di compilazione.
Sistemi con più server di compilazione
Man mano che le dimensioni del team e della codebase aumentano, è possibile aggiungere gradualmente delle risorse per soddisfare i requisiti. Ad esempio, è possibile aggiungere un ulteriore controller e degli agenti di compilazione.
La presenza del controller di compilazione A sullo stesso computer del livello applicazione in genere non rappresenta un problema dal punto di vista del processore. Tuttavia, potrebbe essere utile spostare il controller di compilazione in un altro server per evitare un utilizzo elevato della memoria e i problemi di vulnerabilità menzionati in precedenza.
Con l'utilizzo di più server di compilazione, ogni server può essere dedicato 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) notturne che richiedono molto tempo per eseguire i processi, come le esecuzioni di test complessi e le analisi del codice.
Un server di compilazione dedicato e pronto per eseguire attività specializzate come la compilazione e il test di un'applicazione Windows Store.
Suggerimento
In tali scenari è possibile applicare dei tag agli agenti di compilazione specializzati e quindi limitare le definizioni di compilazione in modo da utilizzare solo gli agenti di compilazione con il set corretto di tag.Vedere Assegnare i tag per rappresentare le funzionalità o gli scopi 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 di compilazione personalizzato avanzato.
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 server Team Foundation Server locale, è necessario implementare almeno un server di compilazione. È possibile inoltre connettere uno o più server di compilazione locali a Visual Studio Online.Suggerimento
Mentre si esegue la scalabilità orizzontale del sistema, è possibile sostituire un server di compilazione esistente mentre si distribuisce un nuovo server di compilazione.Ad esempio, è possibile ospitare la stessa configurazione e il set di controller di compilazione e di agenti di compilazione in un nuovo computer più potente.Vedere Installare il servizio Team Foundation Build.
Distribuire e configurare un controller di compilazione
Utilizzare un 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.Distribuire e configurare gli agenti di compilazione
Utilizzare un agente di compilazione per eseguire il lavoro che richiede notevoli risorse del processore per la compilazione 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 preparare e quindi progettare una o più cartelle di ricezione in modo che il sistema di compilazione possa mettere a disposizione del team i file binari, i risultati dei 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
Una volta impostato il sistema di compilazione, il team è pronto a creare un processo di compilazione semplice, come ad esempio una compilazione di integrazione continuata, e a usufruire della compilazione e del test automatizzati dell'applicazione.