Distribuire e configurare agenti di compilazione

Per utilizzare Team Foundation Build, il team deve disporre di almeno un agente di compilazione per eseguire il lavoro che richiede notevoli risorse del processore per il processo di compilazione.

Due server di compilazione

Ogni agente di compilazione è dedicato e viene controllato da un unico controller di compilazione. Gli agenti di compilazione possono essere ospitati nello stesso server di compilazione in cui è ospitato il controller di compilazione, ma ciò non è necessario e, in alcuni casi, le esigenze del team possono essere soddisfatte in modo più efficiente da un singolo server di compilazione per ospitare un controller di compilazione con cui vengono controllati gli agenti di compilazione in più server di compilazione.

Tramite l'agente di compilazione vengono eseguiti i passaggi del processo di compilazione contenuti nell'attività AgentScope. In genere, questi passaggi prevedono il recupero di file dal controllo della versione, il provisioning dell'area di lavoro, la compilazione del codice, l'esecuzione di test e di nuovo il merge dei file nel controllo della versione.

Verificare che il server di compilazione in cui vengono ospitati gli agenti di compilazione disponga di funzionalità sufficienti di elaborazione e di archiviazione che rispondano alla dimensione e alla complessità della codebase e che tramite esso venga eseguito il test sulla raccolta di progetti team. In genere, è consigliabile ospitare non più di un agente di compilazione per core di processore nel server di compilazione. Inoltre, è possibile migliorare le prestazioni dedicando un singolo disco rigido fisico alla directory di lavoro di ogni agente di compilazione.

Suggerimento

Se la raccolta di progetti team è ospitata in Visual Studio Online e le esigenze del team possono essere soddisfatte da un singolo agente di compilazione standard, è possibile utilizzare il controller di compilazione ospitato anziché distribuire il proprio agente 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'agente di compilazione

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

  1. Accedere al server di compilazione che si desidera configurare.

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

    Verrà visualizzata la Console di amministrazione di Team Foundation.

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

    Le informazioni sul server di compilazione verranno visualizzate nel riquadro del contenuto.

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

  4. Nella pagina Configurazione compilazione:

    • Per creare un nuovo agente di compilazione, scegliere Nuovo agente.

    • Per modificare un agente di compilazione esistente,

      Agente di compilazione

      scegliere Proprietà.

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

Per modificare un agente 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 l'agente di compilazione che si desidera modificare, quindi scegliere Proprietà.

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

Finestra di dialogo Proprietà agente di compilazione

Nome visualizzato, Descrizione: digitare un nome e una descrizione per consentire ai membri del team di identificare facilmente l'agente di compilazione.

Controller: selezionare il controller di compilazione con cui si desidera controllare questo agente di compilazione. Il controller di compilazione può essere eseguito nello stesso server di compilazione di questo agente di compilazione o in uno diverso.

Vedere le sezioni riportate di seguito per informazioni dettagliate su come configurare l'agente di compilazione.

Installare Visual Studio e un altro software per abilitare la compilazione e altre funzionalità

È necessario installare nell'agente di compilazione la versione di Visual Studio utilizzata dal team nei computer di sviluppo. Vedere Installazione di Visual Studio. Inoltre, è necessario installare qualsiasi altro software e componente installato nei computer di sviluppo per compilare l'applicazione.

Specificare la directory di lavoro

È possibile specificare la directory di lavoro utilizzata dall'agente di compilazione per leggere dai file o scrivere in questi ultimi. I file di origine, ad esempio, vengono copiati nelle sottodirectory di questa cartella e i file binari vengono creati e archiviati in altre sottodirectory di questa cartella.

Suggerimento

È possibile migliorare le prestazioni dedicando un singolo disco rigido fisico alla directory di lavoro di ogni agente di compilazione.

Utilizzare i token della directory di lavoro

Anche se è possibile specificare un percorso letterale per la proprietà Directory di lavoro, ad esempio, c:\temp\build\, viene utilizzato un approccio più semplice e duraturo in modo da utilizzare i token per specificare il percorso. È possibile utilizzare due tipi di token:

  • Variabili di ambiente
    Nelle variabili di ambiente sono contenute informazioni sull'ambiente per il sistema e l'utente connesso. La variabile più tipica che è possibile utilizzare è SYSTEMDRIVE, ma in alcuni casi è anche possibile utilizzare variabili come USERNAME o HOMEPATH.

    Suggerimento

    Per elencare le variabili di ambiente nel server di compilazione, aprire un prompt dei comandi e digitare set.

  • Variabili di Team Foundation Build
    È possibile utilizzare le variabili riportate di seguito in una directory di lavoro dell'agente di compilazione.

    • $(BuildAgentId): un numero intero generato automaticamente che identifica in modo univoco un agente di compilazione all'interno di una raccolta di progetti team.

    • $(BuildAgentName): nome dell'agente di compilazione specificato nella casella Nome visualizzato.

    • $(BuildDefinitionId): un numero intero generato automaticamente che identifica in modo univoco una definizione di compilazione all'interno di una raccolta di progetti team.

    • $(BuildDefinitionPath): il nome del progetto team e quello della definizione di compilazione, separati da una barra rovesciata.

Esempio di directory di lavoro

Si dispone, ad esempio, di un agente di compilazione denominato BuildBot3. Sono state definite due compilazioni denominate NightlyBuild e WeeklyBuild in un progetto team denominato CoolApp. Nella casella Cartella di lavoro si specifica il valore seguente: $(SystemDrive)\TeamBuilds\$(BuildAgentName)\$(BuildDefinitionPath). Di conseguenza, l'agente di compilazione BuildBot3 crea e utilizza le due cartelle di lavoro seguenti:

C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild

C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild

Verificare che il percorso della directory di lavoro non sia troppo lungo

La cartella di lavoro specificata non deve provocare la generazione da parte dell'agente di compilazione di percorsi fisici contenenti più di 259 caratteri. In caso contrario, le compilazioni potrebbero avere esito negativo e generare il seguente errore: TF10128: The path PhysicalPath contains more than the allowed 259 characters. Type or select a shorter path.

Per risolvere questo problema, specificare una directory di lavoro con cui sia possibile ottenere un percorso fisico più breve. È possibile, ad esempio, specificare $(HOMEDRIVE)\bld\$(BuildAgentID)\$(BuildDefinitionID), con cui è possibile ottenere una directory di lavoro quale: c:\bld\3\2\.

Sottodirectory create nella directory di lavoro

L'agente di compilazione crea e utilizza le sottodirectory seguenti in questo percorso.

Sottodirectory

Utilizzata per archiviare file...

Sources

Letti dall'agente di compilazione, ad esempio i file di origine. I file scaricati vengono specificati nelle impostazioni Area di lavoro per ogni definizione di compilazione. Vedere Utilizzare aree di lavoro di compilazione.

Binaries

Compilati dall'agente di compilazione, ad esempio file di applicazione compilati.

TestResults

Generati dai test eseguiti dall'agente di compilazione.

Abilitare l'agente di compilazione all'esecuzione di test

È possibile definire un processo di compilazione per eseguire uno o più test automatizzati.

Importante

Per molti tipi di test e di operazioni di test è necessario che nell'agente di compilazione venga installata la stessa versione di Visual Studio utilizzata dal team nei computer di sviluppo.Vedere Installazione di Visual Studio.

Tramite l'agente di compilazione è possibile eseguire:

Assegnare tag per rappresentare le funzionalità o gli scopi dell'agente di compilazione

Man mano che la dimensione del sistema di compilazione aumenta, potrebbe essere necessario definire agenti di compilazione specializzati. Ogni qualvolta un agente di compilazione dispone di funzionalità speciali o è destinato a un tipo specifico di utilizzo, è consigliabile assegnare uno o più tag a tale agente. In questo modo, quando un membro del team crea una definizione di compilazione che richiede un determinato tipo di agente di compilazione, può specificare il tag nella definizione di compilazione.

È possibile assegnare tag dalla finestra di dialogo Proprietà agente di compilazione, descritta in precedenza. È quindi possibile applicare i tag alle definizioni di compilazione.

Nella tabella seguente vengono riportati esempi di nomi di tag e vengono descritte le funzionalità dell'agente di compilazione che possono rappresentare.

Tag applicabile

Attività identificata dal tag eseguita dall'agente di compilazione

x86

Compilazione di applicazioni a 32 bit

x64

Compilazione di applicazioni a 64 bit

bvt

Esecuzione di test di verifica della compilazione eseguiti dalla compilazione del test di verifica della compilazione notturna.

WindowsStore

Compilazione ed esecuzione di test di un'applicazione Windows Store.

IIS

Compilazione, installazione di appoggio e hosting di un'applicazione Web ASP.NET nel computer in cui viene eseguito l'agente di compilazione.

interactive

Esecuzione di attività per cui è richiesto un agente in un server di compilazione in esecuzione in modalità interattiva.

È possibile applicare più di un tag a un agente di compilazione. Ad esempio, è possibile creare un agente di compilazione con i tag x86 e Release per indicare un agente configurato per la compilazione della configurazione per il rilascio di un'applicazione a 32 bit.

Se si eseguono più agenti di compilazione nello stesso server di compilazione, è probabile che dispongano tutti delle stesse funzionalità. Può pertanto essere utile applicare gli stessi tag a tutti gli agenti di compilazione nel server di compilazione in questione.

Rimuovere un agente di compilazione

  1. In Visual Studio aprire la finestra di dialogo Gestisci controller di compilazione, come illustrato precedentemente in Creare o modificare un agente di compilazione.

  2. Selezionare l'agente di compilazione che si desidera rimuovere, quindi scegliere Rimuovi.

Suggerimento

È inoltre possibile utilizzare la console di amministrazione di Team Foundation per rimuovere l'agente di compilazione mentre si è connessi al server di compilazione.

Passaggi successivi