Distribuire e configurare un controller di compilazione

Per utilizzare Team Foundation Build, il team deve disporre di almeno un controller di compilazione per eseguire le attività leggere e distribuire il lavoro che richiede notevoli risorse del processore per il processo di compilazione nel relativo pool di agenti di compilazione.

Sistema con un solo computer (autonomo)

Ogni controller di compilazione è dedicato a un'unica raccolta di progetti team. Tramite il controller di compilazione vengono eseguite alcune attività leggere, ad esempio determinare il nome della compilazione, creare l'etichetta nel controllo della versione, registrare note e segnalare lo stato della compilazione. Tramite il controller di compilazione viene utilizzata l'attività AgentScope per delegare il lavoro che richiede notevoli risorse del processore, ad esempio la compilazione di codice o l'esecuzione di test, agli agenti di compilazione inclusi nel relativo pool. Questi agenti di compilazione possono essere ospitati nello stesso server di compilazione o in uno diverso.

Poiché un controller di compilazione in genere non necessita di tempi significativi del processore, in molti casi è possibile ospitarlo nello stesso computer di Team Foundation Server, come illustrato in precedenza, o in una macchina virtuale o fisica a basso consumo.

Tuttavia, un controller di compilazione può richiedere una quantità di memoria significativa in determinate situazioni, pertanto è necessario fornire memoria sufficiente in base alle necessità per fare in modo che funzioni correttamente. In alternativa, a seconda delle risorse e delle necessità del team, è possibile eseguire il controller di compilazione in un computer diverso dall'istanza di Team Foundation Server.

Due server di compilazione

Autorizzazioni necessarie

È necessario essere un membro del gruppo Administrators di Windows nel server di compilazione e un membro del gruppo Project Collection Build Administrators nella raccolta del progetto team. Vedere Riferimento alle autorizzazioni per Team Foundation Server.

Scegliere l'argomento con cui si desidera procedere

  • Creare o modificare un controller di compilazione

  • Abilitare i processi di compilazione per utilizzare file binari aggiuntivi

  • Specificare il numero massimo di compilazioni in esecuzione simultanea

  • Rimuovere un controller di compilazione

  • Utilizzare un controller di compilazione con una raccolta di progetti team ospitata in Visual Studio Online

Creare o modificare un controller di compilazione

Per creare o modificare un controller di compilazione dal server di compilazione

  1. Accedere al server di compilazione.

  2. Dal menu Start di Windows eseguire Console di amministrazione di Team Foundation Server.

  3. Nel riquadro dell'albero della console di amministrazione di Team Foundation espandere il nome del server, quindi scegliere il nodo Configurazione compilazione.

    Nota

    Se viene visualizzato il messaggio Configurare le funzionalità installateConfigura funzionalità installate, vedere Distribuire un server di compilazione.

  4. Nella pagina Configurazione compilazione:

    • Se un controller non è elencato, scegliere Nuovo controller.

    • Se un controller è già elencato:

      Controller di compilazione

      Scegliere Proprietà.

    Verrà visualizzata la finestra di dialogo Proprietà controller di compilazione.

Per modificare un controller di compilazione da Visual Studio

  1. In Visual Studio, in Team Explorer:

    1. Se non si è già connessi a un progetto team nella raccolta di progetti team, connettersi al progetto team.

    2. Scegliere Icona Home Home, quindi selezionare Icona Compilazioni Compilazioni.

  2. Nella pagina Compilazioni scegliere Azioni, quindi Gestisci controller di compilazione.

    Verrà visualizzata la finestra di dialogo Gestisci controller di compilazione.

    Finestra di dialogo Gestisci controller di compilazione

  3. Selezionare il controller di compilazione che si desidera modificare, quindi scegliere Proprietà.

    Verrà visualizzata la finestra di dialogo Proprietà controller di compilazione.

Finestra di dialogo Proprietà controller di compilazione

Nei campi Nome visualizzato e Descrizione: digitare un nome e una descrizione che consentano ai membri del team di identificare facilmente il controller di compilazione appropriato quando vengono definiti i relativi processi di compilazione.

Vedere le sezioni riportate di seguito per informazioni dettagliate su come configurare il controller di compilazione.

Abilitare i processi di compilazione per utilizzare file binari aggiuntivi

È possibile fare in modo che il processo di compilazione sfrutti i file binari caricati in Team Foundation Server, ad esempio:

Per consentire ai processi di compilazione di utilizzare questi tipi di codice, caricare i file binari nella cartella (o in una qualsiasi delle cartelle discendenti) specificata nella casella Percorso controllo della versione a assembly personalizzati. Quando si imposta o si modifica il valore in questa casella, il server di compilazione viene riavviato automaticamente per caricare gli assembly.

Suggerimento

Se nei risultati della compilazione è incluso un messaggio di errore TF215097, nel processo di compilazione può essere inclusa un'attività personalizzata che non si trova in questa cartella né in una delle cartelle discendenti.

Specificare il numero massimo di compilazioni in esecuzione simultanea

Nella maggior parte dei casi, è consigliabile lasciare questo valore impostato su Imposta come predefinito il numero di agenti abilitati. Tuttavia, in alcuni casi, potrebbe essere necessario controllare la profondità della coda di compilazione. Ad esempio:

  • Un numero eccessivo di compilazioni è impostato su In esecuzione anche se molte sono bloccate perché sono in attesa di assegnazione di un agente di compilazione. Questa situazione può confondere il team. Per evitare il problema, selezionare Specifica il massimo, quindi specificare un valore più basso del numero di agenti di compilazione inseriti nel pool nel controller di compilazione.

  • Progettare un modello di compilazione personalizzato per consentire alle compilazioni di utilizzare più di un agente di compilazione alla volta, da un pool di 12 agenti di compilazione nel controller di compilazione. Le compilazioni elaborate da questo controller di compilazione sono basate su un modello di compilazione personalizzato mediante il quale vengono delegati contemporaneamente tre agenti di compilazione per elaborare la compilazione. Per rendere i dati della coda di compilazione più utili, è possibile configurare il controller di compilazione con Numero massimo di compilazioni in esecuzione simultanea impostato su Specifica il massimo, con un valore pari a 4.

Rimuovere un controller di compilazione

  1. In Visual Studio aprire la finestra di dialogo Gestisci controller di compilazione, come illustrato in precedenza in Modificare un controller di compilazione da Visual Studio.

  2. Selezionare e successivamente rimuovere ogni agente di compilazione nel controller di compilazione, scegliendo Rimuovi oppure Proprietà, quindi utilizzando la finestra di dialogo Proprietà agente di compilazione per assegnare l'agente di compilazione a un altro controller di compilazione.

  3. Selezionare il controller di compilazione che si desidera rimuovere, quindi scegliere Rimuovi.

Nota

È inoltre possibile utilizzare la console di amministrazione di Team Foundation per rimuovere il controller di compilazione mentre si è connessi al server di compilazione.In tal caso però, potrebbe ancora essere necessario utilizzare Visual Studio, oppure accedere prima ad altri server di compilazione, per rimuovere tutti gli agenti di compilazione remoti inseriti in un pool dal controller di compilazione.

Utilizzare un controller di compilazione con una raccolta di progetti team ospitata in Visual Studio Online

Utilizzare il controller di compilazione ospitato: se la raccolta di progetti team è ospitata in Visual Studio Online, è possibile ignorare la distribuzione del proprio controller di compilazione e utilizzare invece il controller di compilazione ospitato. Per utilizzare il Controller di compilazione ospitato, è sufficiente selezionarlo quando si definisce il processo di compilazione. vedere Utilizzare il controller di compilazione ospitato.

Utilizzare un controller di compilazione locale: se per il processo di compilazione sono necessarie risorse esterne alle funzionalità del controller di compilazione ospitato, è possibile connettere il controller di compilazione locale alla raccolta di progetti team ospitata.

Servizio Team Foundation, server di compilazione locale

Passaggi successivi

  • 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. Ciò include il recupero di file dal controllo della versione, il provisioning dell'area di lavoro, la compilazione del codice e l'esecuzione di test. È possibile ospitare uno o più agenti di compilazione in un server di compilazione.

  • 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.

  • Eseguire la scalabilità orizzontale del sistema di Team Foundation Build
    Man mano che le dimensioni del team e della codebase aumentano, è possibile espandere in maniera incrementale il sistema di compilazione con relativa facilità.

  • 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.

  • Definire il processo di compilazione
    Una volta avviato il sistema di compilazione, è possibile definire il processo di compilazione contenente le istruzioni sui progetti di codice da compilare, le azioni mediante le quali viene attivata una compilazione, i test da eseguire e tutte le altre procedure richieste dal team.