Condividi tramite


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.

Servizio Team Foundation, controller di compilazione ospitato

Vedere Utilizzare il controller di compilazione ospitato in una raccolta di progetti team ospitata in Visual Studio Online.

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.

Servizio Team Foundation, server di compilazione locale

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.

Sistema con un solo computer a livello applicazione

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:

Sistema con un solo computer (autonomo)

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.

Controller in AT con più server 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.

Sistema con più computer e più controller

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.