Utilizzare un processo di 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 Per i grandi team il costo può anche essere più elevato se misurato in termini di perdita di produttività e ritardi di pianificazione. È possibile proteggere l'intera codebase o parte di essa da questi problemi creando una definizione di compilazione di archiviazione gestita.

Nota

Le compilazioni di archiviazione gestita sono disponibili solo nei Icona TFVC progetti team TFVC.Non sono disponibili nei Icona Git progetti team Git.

Scegliere l'argomento con cui si desidera procedere

  • Informazioni sugli effetti delle compilazioni di archiviazione gestita sul team

  • Definire un processo di compilazione di archiviazione gestita

  • Linee guida per migliorare la funzione e le prestazioni del processo di compilazione

  • Evitare di bloccare il team

  • Eseguire manualmente compilazioni di archiviazione gestita e compilazioni private

Effetti delle compilazioni di archiviazione gestita sul team

Quando il team definisce un processo di compilazione di archiviazione gestita, le modifiche che gli sviluppatori inviano vengono inserite negli shelveset e vengono automaticamente compilate ed eventualmente testate dal sistema di compilazione.

Finestra di dialogo Archiviazione gestita

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 Riferimento alle autorizzazioni per Team Foundation Server.

Definire un processo di compilazione di archiviazione gestita

  1. In Team Explorer verificare di avere stabilito la connessione al progetto Team (tastiera: CTRL + 0, C), quindi aprire la pagina Compilazioni (tastiera: CTRL + 0, B).

  2. Scegliere il collegamento Nuova definizione di compilazione oppure selezionare una compilazione, aprire il menu di scelta rapida e scegliere Modifica definizione di compilazione.

    Suggerimento

    Se viene visualizzato un messaggio di errore TF225001, configurare un controller di compilazione.

  3. Nella scheda Trigger:

    • Scegliere Archiviazione gestita.

    • (Facoltativo) Per migliorare l'efficienza del processo di compilazione, selezionare Eseguire il merge e la compilazione per n richieste. Per ulteriori informazioni, vedere Evitare di bloccare il team.

  4. Nella tabella Cartelle di lavoro della scheda Impostazioni di origine mappare le cartelle del controllo della versione che verranno controllate dalla definizione di compilazione alle cartelle locali dell'agente di compilazione.

    Suggerimento

    Attenersi alle seguenti indicazioni:

    • Per assicurarsi che il processo di compilazione funzioni correttamente e per migliorare le prestazioni, includere solo ed esclusivamente tutte le cartelle che contengono i file richiesti dal processo di compilazione.

    • Assicurarsi di non specificare alcuna cartella del controllo della versione che sia già specificata nella scheda Area di lavoro di un'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.

    • Per ulteriori informazioni su come specificare questi mapping, vedere Utilizzare aree di lavoro di compilazione.

  5. Per migliorare le prestazioni, nella scheda Impostazioni predefinite di compilazione, scegliere Questa compilazione non copia i file di output in una cartella di ricezione.

  6. Nella scheda Processo, in Compila, specificare le soluzioni o i progetti di codice che si desidera compilare nel parametro Progetti.

  7. Nella scheda Processo impostare i parametri del processo di compilazione per assicurarsi che le archiviazioni rispettino gli specifici standard di qualità del codice per il team senza far aspettare inutilmente gli sviluppatori.

    Per ulteriori informazioni, vedere la sezione Migliorare le prestazioni e il processo di compilazione più avanti in questo argomento.

  8. Specificare le opzioni del processo di compilazione nelle altre schede. Per ulteriori informazioni, vedere Creare o modificare una definizione di compilazione.

Migliorare la funzione e le prestazioni del processo di compilazione

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.

Controllo della versione di Team Foundation o Git

  • Pulizia ambiente di lavoro o Repository pulito: per ottenere prestazioni più veloci, impostare questo valore su False. Con questa impostazione al team potrebbero sfuggire alcuni tipi di errori, come quelli introdotti durante il refactoring.

Compila

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

  • Compilazione pulita: per ottenere prestazioni più veloci, impostare tale parametro su False. Con questa impostazione, al team potrebbero sfuggire alcuni tipi di errori, come quelli introdotti durante il refactoring.

Compila, Avanzate

  • Esegui analisi codice: per ottenere prestazioni più veloci, impostare questo valore su Mai.

Test, Avanzate

  • Disabilita test:

    • Per ottenere prestazioni più veloci, selezionare True.

    • Se il codice deve superare determinati test, selezionare False e quindi definire un set di test da eseguire nella compilazione. È possibile migliorare le prestazioni eseguendo solo i test necessari. Per definire questi test, è necessario filtrarli per categoria o priorità. Per ulteriori informazioni, vedere Eseguire test nel processo di compilazione.

Pubblica simboli

  • Percorso per pubblicare i simboli: per ottenere prestazioni più veloci, lasciare vuoto questo valore.

Avanzate

  • 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 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. Non è tuttavia desiderabile dover attendere otto ore prima di poter determinare se il codice è stato verificato correttamente.

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

Per ulteriori informazioni su come personalizzare un modello di processo di compilazione, vedere Utilizzare il modello predefinito per il processo di compilazione.

Evitare di bloccare il team

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:

  • Per aumentare l'efficienza del processo di compilazione, nella scheda Trigger selezionare l'opzione Eseguire il merge e la compilazione per n richieste e specificare il numero massimo delle archiviazioni che si desidera compilare in un qualsiasi batch specificato. In generale non si rischia di causare troppe interruzioni attivando questa opzione. Per ogni singola archiviazione viene eseguito il commit o viene rifiutata.

    Ad esempio, se tre archiviazioni vengono compilate insieme in un batch e la compilazione non riesce, il sistema accoda le singole compilazioni di tutte e tre le archiviazioni.

    Tuttavia, questa opzione presenta alcuni rischi quando l'archiviazione di una interferisce con altre. Questo può accadere, ad esempio, se più archiviazioni modificano lo stesso file e si verifica un conflitto nel controllo della versione. In questo caso, viene eseguito il commit della prima archiviazione, mentre le successive vengono rifiutate.

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

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

Eseguire manualmente compilazioni di archiviazione gestita e compilazioni private

Per una maggiore sicurezza sulle modifiche da archiviare, gli sviluppatori possono accodare manualmente una compilazione di uno shelveset. 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 i team che non desiderano richiedere l'archiviazione gestita e che vogliono comunque consentire agli sviluppatori di convalidare volontariamente il codice prima dell'archiviazione.

  • Il sistema non archivia le modifiche (compilazione privata): gli sviluppatori possono utilizzare questa opzione per convalidare alcune modifiche in uno shelveset, senza archiviarle.

Per ulteriori informazioni, vedere Accodare una compilazione.