Condividi tramite


Definire un processo di compilazione basato sul modello predefinito

È possibile utilizzare il modello predefinito (DefaultTemplate.11.1.xaml) per definire rapidamente una compilazione di base selezionando i progetti di codice che si desidera compilare.È inoltre possibile utilizzare questo modello per includere funzionalità più avanzate, ad esempio l'esecuzione di test automatizzati, e modificare diversi aspetti del processo di compilazione per soddisfare le esigenze del team.

Autorizzazioni necessarie

Per eseguire questa procedura, è necessario che l'autorizzazione Modifica definizione di compilazione sia impostata su Consenti.Per ulteriori informazioni, vedere la classe Autorizzazioni per Team Foundation Server.

Per creare una definizione di compilazione utilizzando il modello predefinito

  1. In Team Explorer:

    1. Se non si è già connessi al progetto team sul quale si vuole lavorare, allora connettersi al progetto team.

    2. Scegliere Icona HomePagina iniziale, quindi scegliere Icona CompilazioniCompilazioni.

    3. Nella pagina Compilazioni, scegliere Nuova definizione di compilazione.

    Verrà visualizzata la finestra Nuova definizione di compilazione.

  2. Nella Scheda di processo, sotto Modello di processo di compilazione, il Modello predefinito è selezionato per impostazione predefinita.In Parametri processo di compilazione espandere il nodo Obbligatorio e specificare almeno una soluzione o un progetto da compilare.

    Per ulteriori informazioni, vedere Specificare i progetti che si desidera compilare più avanti in questo argomento.

  3. Utilizzare le informazioni riportate più avanti in questo argomento per completare i campi che forniscono la funzionalità da inserire in questa definizione di compilazione.

  4. Dopo aver completato i campi nella scheda Processo, specificare le opzioni del processo di compilazione nelle altre schede.

    Per ulteriori informazioni, vedere Creare una definizione di compilazione.

In questo argomento

  • Informazioni sui parametri del processo di compilazione per il modello predefinito

  • Specificare i progetti che si desidera compilare

  • Specificare le piattaforme e le configurazioni che si desidera compilare

  • Specificare quali agenti di compilazione elaborano la compilazione

  • Specificare i limiti di tempo dell'agente di compilazione

  • Eseguire test automatizzati e abilitare l'analisi dell'impatto sui test

  • Specificare i parametri base del processo di compilazione

  • Specificare i parametri avanzati del processo di compilazione

Informazioni sui parametri del processo di compilazione per il modello predefinito

In questo argomento viene illustrato come definire una compilazione utilizzando i parametri del processo di compilazione nelle compilazioni basate sul modello predefinito.Le informazioni contenute in questo argomento descrivono le funzionalità che dovrebbero corrispondere in Visual Studio finché le condizioni seguenti sono vere:

  • Si sta utilizzando un progetto team che è stato creato da uno dei modelli di processo che sono inclusi in Visual Studio.

  • Nessun membro del team ha rimosso o personalizzato il DefaultTemplate.11.1.xaml.

Specificare i progetti che si desidera compilare

Nella casella Progetti da compilare, è possibile specificare una o più soluzioni o progetti di codice da compilare.(Per visualizzare questa casella, espandere il nodo Obbligatorio, quindi espandere il nodo relativo agli elementi da compilare). È necessario specificare almeno una soluzione o un progetto.

Se si compilano diversi progetti correlati, è solitamente necessario aggiungerli a un'unica soluzione e specificare tale soluzione nella casella Progetti da compilare anziché elencare ogni progetto separatamente.

Nella casella Progetti da compilare, è possibile scegliere il pulsante con i puntini di sospensione (...) per aprire e utilizzare la finestra di dialogo Soluzioni/Progetti per specificare le soluzioni o i progetti da compilare.

Per compilare manualmente la casella Progetti da compilare, specificare il percorso completo del controllo della versione per ogni progetto o soluzione che si desidera compilare.Delimitate ogni valore con una virgola, come illustrato nell'esempio seguente:

$/Features/FeatureA/Server/All Server Projects.sln, $/Features/FeatureA/Client/All Client Projects.sln

Nota importanteImportante

Assicurarsi che il percorso di ogni progetto o soluzione sia un elemento figlio di uno dei valori di Cartella del controllo del codice sorgente elencati nella scheda Area di lavoro della definizione di compilazione.

Specificare le piattaforme e le configurazioni che si desidera compilare

Nella casella Configurazioni da compilare è possibile specificare quali piattaforme e configurazioni si desidera compilare.(Per visualizzare questa casella, espandere il nodo Obbligatorio, quindi espandere il nodo relativo aglielementi da compilare). Ad esempio, includendo Versione|x86 in questa casella è possibile specificare che per questa compilazione dovrà essere compilata solo la configurazione per il rilascio della versione a 32 bit del progetto C++.

SuggerimentoSuggerimento

Se si dispone di una codebase di grandi dimensioni, è possibile aumentare significativamente la velocità di elaborazione della compilazione compilando solo le configurazioni e le piattaforme necessarie.

Se si lascia vuota la casella Configurazioni da compilare, verranno compilate la configurazione predefinita e la piattaforma definita in ogni soluzione o progetto.

Nella casella Elementi da compilare, è possibile scegliere il pulsante con i puntini di sospensione (...) per aprire e utilizzare la finestra di dialogo Configurazioni per specificare gli elementi da compilare.È inoltre possibile specificare tali elementi manualmente.

Ogni configurazione nella casella Configurazioni da compilare deve essere espressa nel seguente formato:

Configurazione|Piattaforma

È necessario sostituire i seguenti segnaposto:

  • Configurazione è un valore quale Debug, Release o Tutte le configurazioni.

  • Piattaforma è un valore quale Win32, x86, x64 o Qualsiasi CPU.

Nell'elenco le configurazioni devono essere delimitate da virgole.

Ad esempio, se si desidera compilare entrambe le configurazioni Debug e Release del progetto C#, nella casella Configurazioni da compilare specificare Debug|Qualsiasi CPU, Release|Qualsiasi CPU.

I token utilizzati per la configurazione e la piattaforma devono corrispondere ai token impostati nelle proprietà della soluzione o nelle proprietà del progetto di codice.Se non corrispondono, è possibile che al completamento della compilazione si verifichino risultati imprevisti.

Specificare quali agenti di compilazione elaborano la compilazione

Per specificare quali agenti di compilazione vengono utilizzati per elaborare la compilazione, espandere il nodo Avanzate, espandere il nodo Impostazioni agente, quindi specificare i valori per i seguenti parametri:

  • Filtro nomi: è possibile filtrare gli agenti di compilazione utilizzati per elaborare questa definizione di compilazione digitando il nome dell'agente in questo campo.È inoltre possibile specificare un set di nomi utilizzando i caratteri jolly * e ?.Ad esempio, è possibile specificare CI * per indicare qualsiasi agente il cui nome inizia con i caratteri CI.Gli agenti che possono corrispondere a questi criteri includono CI, CI1 o CI_Agente2.

  • Filtro tag: specificare uno o più tag per assicurarsi che solo gli agenti di compilazione con tag corrispondenti eseguiranno questa compilazione.In genere si applicano i tag a determinati agenti di compilazione per riservarli per scopi speciali.Ad esempio, viene impostato un agente di compilazione su un computer di compilazione progettato per elaborare le compilazioni di archiviazione gestita.Viene applicato il tag gestito a questo agente di compilazione.Infine viene applicato il tag gestito alla definizione di compilazione in modo che venga elaborata solo dall'agente anch'esso contrassegnato con il tag gestito.Per specificare tag, scegliere il pulsante con i puntini di sospensione (...).

    [!NOTA]

    Il pool di agenti di compilazione disponibili per l'elaborazione di questa compilazione è determinato dal controller di compilazione specificato per questa definizione di compilazione.Per modificare il controller di compilazione, scegliere la scheda Impostazioni predefinite compilazione, quindi scegliere un controller di compilazione dal menu Controller di compilazione.

  • Operatore di confronto tag: Dal menu, scegliere uno dei seguenti valori:

    • MatchExactly: Scegliere questo valore se si desidera che questa definizione di compilazione venga elaborata solo dagli agenti di compilazione che hanno esattamente lo stesso set di tag specificato nella casella Filtro tag.Se non si specifica alcun tag, la definizione di compilazione potrà essere elaborata da qualsiasi agente.

      SuggerimentoSuggerimento

      Selezionando MatchExactly, si limitano gli agenti disponibili per questa definizione di compilazione solo a quelli che dispongono esattamente dello stesso set di tag specificato nel campo Filtro tag.

    • MatchAtLeast: Scegliere questo valore se si desidera che questa definizione di compilazione venga elaborata da qualsiasi agente di compilazione che abbia almeno lo stesso set di tag specificato nella casella Filtro tag.Se non si specifica alcun tag, la definizione di compilazione potrà essere elaborata solo da agenti privi di tag.

Specificare i limiti di tempo dell'agente di compilazione

Per specificare limiti di tempo, espandere il nodo Avanzate, espandere il nodo Impostazioni agente, quindi specificare i parametri riportati nella tabella seguente.

Per...

Impostare il parametro…

Seguendo queste istruzioni…

Specificare il tempo massimo consentito all'agente di compilazione per elaborare la compilazione

Tempo massimo di esecuzione

Immettere un valore per l'intervallo di tempo nel formato hh:mm:ss.Ad esempio, la compilazione non verrà completata e restituirà un errore di timeout se si specifica il valore 04.30.15 e l'agente di compilazione non ha completato il lavoro dopo 4 ore, 30 minuti e 15 secondi.Specificare il valore 00.00.00 se si desidera assegnare all'agente di compilazione un tempo illimitato per elaborare la compilazione.

Specificare il tempo massimo consentito per assegnare la richiesta di compilazione a un agente di compilazione

Tempo massimo di attesa

Immettere un valore per l'intervallo di tempo nel formato hh:mm:ss.Ad esempio, la compilazione non verrà completata e restituirà un errore di timeout se si specifica il valore 01.30.45 e la compilazione non è stata assegnata a un agente di compilazione dopo 1 ora, 30 minuti e 45 secondi.Specificare il valore 00.00.00 se si desidera assegnare al controller di compilazione un tempo illimitato per trovare un agente di compilazione per elaborare la definizione di compilazione.

Eseguire test automatizzati e analizzare l'impatto del test

È possibile progettare la compilazione affinché esegua una o più esecuzioni dei test automatizzati e analizzi l'impatto delle modifiche al codice nei test.Per ulteriori informazioni, vedere Eseguire test nel processo di compilazione.

Specificare i parametri base del processo di compilazione

Spesso è necessario modificare i parametri del processo di compilazione nel nodo Base per completare correttamente alcuni degli scenari più comuni.

Per...

Impostare il parametro…

Seguendo queste istruzioni…

Eseguire una o più esecuzioni dei test automatizzati

Test automatizzati

Eseguire test nel processo di compilazione

Personalizzare la convenzione utilizzata per assegnare un nome alle compilazioni completate

Formato numero build

È possibile caricare dati utili nel nome di ogni compilazione completata.Per ulteriori informazioni, vedere Utilizzare numeri di compilazione.

Per personalizzare questo parametro, è possibile immettere il testo direttamente in questo campo.È tuttavia possibile modificare più facilmente il valore e visualizzare i token disponibili selezionando il pulsante con i puntini di sospensione (...) per aprire e utilizzare la finestra di dialogo Editor formato BuildNumber.In questa finestra di dialogo, scegliere Macro per visualizzare e inserire i token che si desidera utilizzare.

Specificare se e come pulire l'area di lavoro dell'agente di compilazione prima che elabori la compilazione

Pulizia ambiente di lavoro

In questo menu, scegliere uno dei seguenti valori:

  • Selezionare Tutto per eliminare tutti gli output e i file di codice sorgente esistenti prima che venga elaborata la compilazione.Utilizzare questa opzione se si desidera che il processo di compilazione che sia il più completo possibile nell'esporre i problemi del processo di compilazione.

  • Selezionare Output per eliminare tutti gli output esistenti, mantenendo tuttavia i file di codice sorgente che non sono stati modificati dalla più recente compilazione (eseguendo un comando tf get senza l'opzione /all).

  • Selezionare Nessuno per lasciare invariati tutti gli output esistenti e mantenere i file di codice sorgente che non sono stati modificati dalla più recente compilazione (eseguendo un comando tf get senza l'opzione /all).

SuggerimentoSuggerimento
Se il processo di compilazione non richiede la pulizia aggiuntiva eseguita dall'opzione Tutto, è possibile ridurre notevolmente il tempo necessario per eseguire la compilazione specificando Nessuno (l'opzione più veloce) oppure Output.Tuttavia, è molto probabile che al team possano sfuggire alcuni tipi di errori (come quelli introdotti durante il refactoring) se l'area di lavoro non è stata pulita.

Specificare il livello di dettaglio desiderato per il log di compilazione

Livello di dettaglio registrazione

Anche se le informazioni di compilazione sono importanti per il team, un processo di compilazione che registra una quantità eccessiva di informazioni può causare problemi.Tali problemi possono includere l'esaurimento dello spazio di archiviazione e delle risorse della CPU del server, rallentare le prestazioni del server e limitare l'esperienza utente nella finestra Risultati compilazione sul computer client.È possibile controllare la quantità di informazioni che la distribuzione deve elaborare, archiviare, e visualizzare.Per ulteriori informazioni, vedere Gestire le informazioni di compilazione e controllare il dettaglio.

Analizzare il codice per trovare difetti comuni

Esegui analisi codice

In questo menu, scegliere uno dei seguenti valori:

  • Selezionare Come configurato per analizzare ogni progetto di codice nel quale è abilitata questa funzionalità.

  • Selezionare Sempre per analizzare ogni progetto di codice, indipendentemente dal fatto che questa funzionalità sia abilitata o meno nei progetti di codice.

  • Selezionare Mai per ignorare l'analisi codice.

Per ulteriori informazioni, vedere uno degli argomenti riportati di seguito:

Archiviare i simboli per abilitare funzionalità come il debug cronologico

Indicizza origini e Percorso per pubblicare i simboli

È possibile configurare la definizione di compilazione affinché pubblichi i dati dei simboli per abilitare funzionalità quale il debug cronologico.Per ulteriori informazioni, vedere Pubblicare dati dei simboli.

Specificare i parametri avanzati del processo di compilazione

Nel nodo Avanzate sono presenti i parametri del processo di compilazione che è necessario modificare per completare correttamente alcuni degli scenari più comuni.

Per...

Impostare il parametro…

Seguendo queste istruzioni…

Specificare le impostazioni dell'agente di compilazione

Impostazioni agente

Specificare quali agenti di compilazione elaborano la compilazione, Specificare i limiti di tempo dell'agente di compilazione

Analizzare l'impatto del test

Analizza impatto test

Eseguire test nel processo di compilazione

Collegare ogni compilazione completata a tutti i set di modifiche inseriti nel codice, così come gli elementi di lavoro associati

Associa set di modifiche ed elementi di lavoro

Nella maggior parte dei casi la procedura consigliata consiste nell'impostare questo parametro su Vero (il valore predefinito).Ciò vale specialmente per le compilazioni pianificate (ad esempio una compilazione notturna), perché spesso si utilizzano compilazioni pianificate correttamente completate per verificare correzioni o eseguire test aggiuntivi.

Ogni definizione di compilazione gestisce un record dei set di modifiche e degli elementi di lavoro in attesa di essere associati alla successiva compilazione completata.Ad esempio, il set di modifiche 382 viene compilato sia da Compilazione A che da Compilazione B.La Compilazione A viene accodata e completata correttamente.La Compilazione B viene accodata ma non viene completata.Il set di modifiche 382 è ora collegato alla compilazione correttamente completata di Compilazione A e alla compilazione non completata di Compilazione B. Il set di modifiche 382 non sarà collegato alla successiva compilazione completata di Compilazione A, ma lo sarà alla successiva compilazione completata di Compilazione B.

Creare un elemento di lavoro quando la compilazione non riesce

Crea un elemento di lavoro in caso di errore

Impostare questo parametro su Vero se si desidera che il sistema crei un elemento di lavoro quando la compilazione non riesce.

Disabilitare i test

Disabilita test

Eseguire test nel processo di compilazione

Compilare una versione specifica del codice sorgente

Leggi versione

Specificare l'elemento versionspec che identifica la versione che si desidera compilare.

Per ulteriori informazioni sugli elementi versionspec, vedere Sintassi della riga di comando.

Etichettare la versione di ciascuno dei file compilati in ogni compilazione completata

Origini etichette

Impostare questo parametro su Vero se si desidera che il sistema contrassegni ogni file di codice sorgente con un'etichetta.Questa azione consente al team di identificare facilmente quale versione di ogni file è inclusa nella compilazione completata.

Convalidare il codice in base ai diagrammi livello

Argomenti MSBuild

Includere la stringa seguente nel valore di questo parametro: /p:ValidateArchitecture=true.

Per ulteriori informazioni, vedere Convalidare il codice con diagrammi livello.

Specificare gli argomenti della riga di comando da passare a MSBuild.

Argomenti MSBuild

Se il processo di compilazione richiede il passaggio di argomenti a MSBuild, immetterli nel parametro Argomenti MSBuild.Per ulteriori informazioni, vedere Riferimenti alla riga di comando di MSBuild.

Specificare il numero di bit della versione MSBuild utilizzati per elaborare la compilazione

Piattaforma MSBuild

Specificare uno dei seguenti valori:

  • Specificare Auto se si desidera eseguire MSBuild con lo stesso numero di bit della CPU del servizio Team Foundation Build installato nell'agente di compilazione.

  • Specificare X86 per elaborare sempre questa compilazione utilizzando la versione a 32 bit di MSBuild.

    Poiché Visual Studio viene eseguito come un'applicazione a 32 bit, si possono verificare problemi quando la compilazione viene elaborata da un agente di compilazione che esegue la versione a 64 bit del servizio Team Foundation Build.Specificando X86, è possibile risolvere questi tipi di problemi.

  • Specificare X64 per elaborare sempre questa compilazione utilizzando la versione a 64 bit di MSBuild.

Se si specifica questo valore, è necessario assicurarsi che la compilazione venga elaborata da un agente di compilazione ospitato da un computer di compilazione a 64 bit, utilizzando ad esempio un tag come spiegato precedentemente in questo argomento.In caso contrario, la compilazione non verrà completata.

Accodare una compilazione privata

Destinazione finale privata

In genere nella definizione di compilazione non si specifica un valore per questo parametro.Per ulteriori informazioni su come accodare una compilazione privata, vedere Accodare una compilazione.

Organizzare i file di output per soluzione

Output di compilazione specifici della soluzione

Impostare questo parametro su True se si desidera organizzare i file di output per soluzione.