Definire una compilazione di archiviazione gestita per convalidare le modifiche

L'archiviazione da parte di uno sviluppatore di modifiche che interrompono la compilazione può comportare difficoltà significative per i piccoli team e causare costi notevoli ai team più grandi in termini di perdita di produttività e ritardi di pianificazione.

È possibile creare una definizione di compilazione di archiviazione gestita per preservare l'intera codebase o parte di essa da questo problema.

In questo argomento

  • Effetti delle compilazioni di archiviazione gestita sul team

  • Definire una compilazione di archiviazione gestita

  • Linee guida per le impostazioni della scheda Processo

  • Esecuzione delle compilazioni di archiviazione gestita

    • Esecuzione automatica delle compilazioni di archiviazione gestita

    • Esecuzione manuale di compilazioni di archiviazione gestita e compilazioni private

Effetti delle compilazioni di archiviazione gestita sul team

Quando si crea una compilazione di archiviazione gestita, le modifiche inviate dallo sviluppatore vengono collocate in un'area di sospensione e automaticamente compilate nel sistema di compilazione in uso. Affinché il processo di archiviazione venga completato, è necessario che anche la compilazione sia completata correttamente. Per ulteriori informazioni, vedere Archiviare modifiche in sospeso controllate da una compilazione di archiviazione gestita.

Se alcuni degli utenti hanno l'esigenza di ignorare l'archiviazione gestita, è possibile impostare l'autorizzazione Override della convalida di archiviazione tramite compilazione su Consenti per un gruppo di utenti. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.

Definire una compilazione di archiviazione gestita

Autorizzazioni necessarie

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

Per definire una compilazione di archiviazione gestita

  1. In Team Explorer fare clic su un progetto team.

  2. Scegliere Nuova definizione di compilazione dal menu Compila.

    Verrà visualizzata la finestra Nuova definizione di compilazione con la scheda Generale in primo piano.

  3. Digitare un nome nella casella Nome definizione di compilazione.

  4. Nella scheda Trigger fare clic su Archiviazione gestita: accetta archiviazioni solo se le modifiche inviate si uniscono e si compilano.

  5. Fare clic sulla scheda Area di lavoro.

    Verrà visualizzata la tabella Cartelle di lavoro. In questa tabella viene eseguito il mapping delle cartelle del controllo della versione che verranno controllate dalla definizione di compilazione alle cartelle locali dell'agente di compilazione. Per ulteriori informazioni, vedere Eliminare una compilazione completata.

    SuggerimentoSuggerimento

    Verificare che qualsiasi cartella del controllo della versione specificata per questa definizione non sia specificata anche nella scheda Area di lavoro di qualsiasi altra definizione di compilazione di archiviazione gestita. In caso contrario, quando si archiviano file in queste cartelle, il sistema impone di decidere quale definizione di compilazione accodare.

  6. Fare clic sulla scheda Processo e impostare i parametri del processo di compilazione in modo da garantire che le archiviazioni soddisfino gli standard di qualità del codice specifici del team.

    Per una codebase di grandi dimensioni prodotta da un grande team, occorre trovare un compromesso tra l'obiettivo di convalidare la qualità del codice e l'obiettivo di evitare inutili ritardi per gli sviluppatori. Per ulteriori informazioni, vedere Linee guida per le impostazioni della scheda Processo più avanti in questo argomento.

  7. Fare clic sulle schede Impostazioni predefinite compilazione e Criteri di conservazione e applicare tutte le impostazioni appropriate in ogni scheda.

    Per ulteriori informazioni, vedere Creare una definizione di compilazione di base.

Linee guida per le impostazioni della scheda Processo

Per ridurre i tempi necessari per elaborare la compilazione, può essere utile attenersi a queste linee guida per specificare i valori per i parametri del processo di compilazione nella scheda Processo.

Nodo obbligatorio

  • Elementi da compilare, Configurazioni da compilare: se questo parametro viene lasciato vuoto, verranno utilizzate la configurazione e la piattaforma predefinite per ogni soluzione e progetto. Per ottimizzare le prestazioni, attenersi alle linee guida riportate di seguito.

    • Se una coppia piattaforma-configurazione viene compilata più rapidamente di altre coppie, specificarla in questo parametro.

    • Specificare il numero più basso possibile di coppie piattaforma-configurazione.

Nodo di base

  • Test automatizzati: se il codice deve superare determinati test per essere valido, configurare l'esecuzione di tali test. Nella configurazione dell'esecuzione dei test assicurarsi di filtrare per categorie o priorità in modo da eseguire solo i test maggiormente necessari. Per ulteriori informazioni, vedere Definire una compilazione utilizzando il modello predefinito.

  • Pulizia ambiente di lavoro: impostare questo valore su Nessuna (impostazione consigliata) o su Output. Tuttavia, se l'area di lavoro non viene pulita è più probabile che alcuni tipi di difetti vengano tralasciati. Per ulteriori informazioni, vedere Definire una compilazione utilizzando il modello predefinito.

  • Esegui analisi codice: impostare questo valore su Mai.

  • Impostazioni server di simboli e origine, Indicizza origini: impostare questo valore su False.

Nodo avanzato

  • Impostazioni agente

    • Filtro nomi o Filtro tag: utilizzare il nome di un agente di compilazione o un tag per associare questa definizione di compilazione a un agente di compilazione appositamente progettato per l'esecuzione di questa compilazione. L'agente di compilazione dovrebbe essere eseguito su un computer di compilazione con hardware sufficientemente potente, che sia in grado di elaborare questa compilazione in maniera sufficientemente rapida da soddisfare le aspettative di prestazione del team.

      Ad esempio, è possibile che agli sviluppatori del team non importi di dover attendere 15 minuti per il completamento della compilazione. È probabile tuttavia che gli sviluppatori non accettino di dover attendere otto ore prima di poter determinare se l'archiviazione del codice sia stata completata correttamente.

    • Tempo massimo di esecuzione: impostare questo valore su un numero ragionevolmente piccolo per compilazioni di integrazione continue. Ad esempio, un valore di 15 minuti può essere accettabile per il team, mentre un valore di otto ore è probabilmente troppo.

  • Copia output nella cartella di ricezione: il sistema accetta questo valore come False, anche se viene impostato su True.

  • Crea un elemento di lavoro in caso di errore: il sistema accetta questo valore come False, anche se viene impostato su True.

  • Origini etichette: impostare questo valore su False.

Per ulteriori informazioni sull'impostazione dei valori dei parametri del processo di compilazione, vedere Definire una compilazione utilizzando il modello predefinito.

Esecuzione delle compilazioni di archiviazione gestita

Per ogni definizione di compilazione di archiviazione gestita può essere eseguita una sola compilazione per volta. Per questo motivo, è probabile che i grandi team impegnati in diverse attività sviluppino una coda di grandi dimensioni di compilazioni di archiviazione gestita. Le procedure consigliate riportate di seguito sono utili per evitare di bloccare le attività del team:

  • Destinare un computer di compilazione con hardware potente, ad esempio con un processore e un disco rigido veloci, all'agente di compilazione utilizzato dalla definizione di compilazione di archiviazione gestita.

  • Definire la compilazione in modo che l'agente di compilazione si occupi esclusivamente delle operazioni necessarie per convalidare la qualità del codice da archiviare. Per ulteriori informazioni, vedere Linee guida per le impostazioni della scheda Processo più indietro in questo argomento.

È possibile eseguire le compilazioni di archiviazione gestita in modo automatico o manuale.

Esecuzione automatica delle compilazioni di archiviazione gestita

Una compilazione di archiviazione gestita viene eseguita automaticamente quando si verifica uno degli eventi seguenti:

  • Una compilazione è stata definita con la casella di controllo Archiviazione gestita selezionata nella scheda Trigger della definizione di compilazione.

  • Viene effettuato il tentativo di archiviare una o più modifiche che si intersecano con una o più cartelle mappate nella scheda Area di lavoro della definizione di compilazione.

Esecuzione manuale di compilazioni di archiviazione gestita e compilazioni private

Per una maggiore sicurezza sulle modifiche da archiviare, gli sviluppatori possono accodare manualmente una compilazione di un'area di sospensione. In questo caso, possono scegliere tra due opzioni relative all'operazione eseguita successivamente dal sistema in caso di esito positivo della compilazione:

  • Il sistema archivia le modifiche (compilazione di archiviazione gestita manuale): questa opzione è utile per gli sviluppatori che desiderano convalidare il codice prima dell'archiviazione, ma appartengono a team in cui non viene utilizzato il trigger di archiviazione gestita.

  • Il sistema non archivia le modifiche (compilazione privata): gli sviluppatori possono utilizzare questa opzione per convalidare alcune modifiche in un'area di sospensione, senza archiviarle.

Per ulteriori informazioni, vedere Accodare una compilazione.