Share via


Compilare repository TFVC

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Importante

TFVC è supportato solo dalle pipeline classiche e non supporta YAML.

Scegliere il repository da compilare

Durante la modifica di una pipeline che usa un repository TFVC, sono disponibili le opzioni seguenti.

  • Pulire
  • Specificare il percorso locale
  • Origini etichetta

Nome del repository

Nome del repository TFVC.

Mapping (area di lavoro)

Includere con un valore di tipo Mappa solo le cartelle richieste dalla pipeline di compilazione. Se una sottocartella di una cartella mappata contiene file che la pipeline di compilazione non richiede, eseguirne il mapping con un valore di tipo Cloak.

Assicurarsi di eseguire il mapping di tutte le cartelle che contengono file richiesti dalla pipeline di compilazione. Ad esempio, se si aggiunge un altro progetto, potrebbe essere necessario aggiungere un altro mapping all'area di lavoro.

Le cartelle di mantello non sono necessarie. Per impostazione predefinita, la cartella radice del progetto viene mappata nell'area di lavoro. Questa configurazione consente all'agente di compilazione di scaricare tutti i file nella cartella del controllo della versione del progetto. Se questa cartella contiene molti dati, la compilazione potrebbe sprecare risorse di sistema di compilazione e rallentare la pipeline di compilazione scaricando grandi quantità di dati che non richiedono.

Quando si rimuovono i progetti, cercare i mapping che è possibile rimuovere dall'area di lavoro.

Se si tratta di una compilazione CI, nella maggior parte dei casi è necessario assicurarsi che questi mapping corrispondano alle impostazioni di filtro del trigger CI nella scheda Trigger.

Per altre informazioni su come ottimizzare un'area di lavoro TFVC, vedere Ottimizzare l'area di lavoro.

Pulire il repository locale nell'agente

È possibile eseguire diverse forme di pulizia della directory di lavoro dell'agente self-hosted prima dell'esecuzione di una compilazione.

In generale, per prestazioni più veloci degli agenti self-hosted, non pulire il repository. In questo caso, per ottenere prestazioni ottimali, assicurarsi di creare anche in modo incrementale disabilitando qualsiasi opzione Pulisci dell'attività o dello strumento usato per la compilazione.

Se è necessario pulire il repository ,ad esempio per evitare problemi causati da file residui di una build precedente, le opzioni sono riportate di seguito.

Nota

La pulizia non è rilevante se si usa un agente ospitato da Microsoft perché si ottiene un nuovo agente ogni volta in questo caso.

Se si vuole pulire il repository, selezionare true e quindi selezionare una delle opzioni seguenti:

  • Origini: la pipeline di compilazione esegue un annullamento delle modifiche e classifica l'area di lavoro corrente in $(Build.SourcesDirectory).

  • Origini e directory di output: stessa operazione dell'opzione Sources precedente, più: Elimina e ricrea $(Build.BinariesDirectory).

  • Directory Origini: elimina e ricrea $(Build.SourcesDirectory).

  • Tutte le directory di compilazione: elimina e ricrea $(Agent.BuildDirectory).

Trigger CI

Selezionare Abilita integrazione continua nella scheda Trigger per abilitare questo trigger se si vuole che la compilazione venga eseguita ogni volta che un utente archivia il codice.

Trigger CI.

Modifiche in batch

Selezionare questa casella di controllo se sono presenti molti membri del team che caricano spesso le modifiche e si vuole ridurre il numero di compilazioni in esecuzione. Se si seleziona questa opzione, quando una compilazione è in esecuzione, il sistema attende fino al completamento della compilazione e quindi accoda un'altra compilazione di tutte le modifiche non ancora compilate.

È possibile raggruppare le modifiche e compilarle insieme.

Filtri di percorso

Selezionare i percorsi di controllo della versione da includere ed escludere. Nella maggior parte dei casi, è necessario assicurarsi che questi filtri siano coerenti con i mapping tfvc. È possibile usare i filtri di percorso per ridurre il set di file che si desidera attivare una compilazione.

Suggerimenti:

  • I percorsi vengono sempre specificati in relazione alla radice dell'area di lavoro.
  • Se non si impostano filtri di percorso, la cartella radice dell'area di lavoro viene inclusa in modo implicito per impostazione predefinita.
  • Se si esclude un percorso, non è possibile includerlo anche a meno che non venga qualificato in una cartella più approfondita. Ad esempio, se si esclude /tools , è possibile includere /tools/trigger-runs-on-these
  • L'ordine dei filtri di percorso non è importante.

Archiviazione gestita

È possibile usare l'archiviazione gestita per evitare modifiche che causano interruzioni.

Per impostazione predefinita, è selezionata l'opzione Usa mapping area di lavoro per i filtri. Le compilazioni vengono attivate ogni volta che viene archiviata una modifica in un percorso specificato nei mapping di origine.

In caso contrario, è possibile deselezionare questa casella di controllo e specificare i percorsi nel trigger.

Impatto sugli sviluppatori

Quando gli sviluppatori provano a eseguire l'archiviazione, viene richiesto di compilare le modifiche.

Richiesta di archiviazione controllata

Il sistema crea quindi un set di scaffali e lo compila.

Nota

Se viene visualizzato un errore, The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-inad esempio , controllare l'impostazione Limita l'ambito di autorizzazione del processo al progetto corrente per le pipeline non definitive e assicurarsi che non sia abilitato.

Per informazioni dettagliate sull'esperienza di archiviazione controllata, vedere Archiviare una cartella controllata da una pipeline di compilazione controllata.

Opzione per eseguire compilazioni CI

Per impostazione predefinita, le compilazioni CI non vengono eseguite dopo il completamento del processo di archiviazione gestito e le modifiche vengono archiviate.

Tuttavia, se si desidera che le compilazioni CI vengano eseguite dopo un'archiviazione controllata, selezionare la casella di controllo Esegui trigger CI per le modifiche di cui è stato eseguito il commit. Quando si esegue questa operazione, la pipeline di compilazione non aggiunge *NO_CI++ alla descrizione del set di modifiche. Di conseguenza, vengono eseguite compilazioni CI interessate dall'archiviazione.

Altre cose da sapere

  • Assicurarsi che le cartelle incluse nel trigger siano incluse anche nei mapping delle aree di lavoro.
  • È possibile eseguire build gestite su un agente ospitato da Microsoft o su un agente self-hosted.

Domande frequenti

Quando si esegue una pipeline, viene visualizzato l'errore seguente:

The shelveset <xyz> could not be found for check-in

  • L'ambito di autorizzazione del processo è impostato sulla raccolta? I repository TFVC vengono in genere distribuiti tra i progetti nella raccolta. È possibile leggere o scrivere in una cartella accessibile solo quando l'ambito è l'intera raccolta. È possibile impostare questa impostazione nelle impostazioni dell'organizzazione o nell'impostazione del progetto nella scheda Pipeline .

Quando si esegue una pipeline, viene visualizzato l'errore seguente:

The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public

  • Si tratta in genere di un errore intermittente causato da problemi tecnici del servizio. Eseguire nuovamente la pipeline.

Che cos'è la scorch?

Scorch è uno strumento di alimentazione TFVC che garantisce che il controllo del codice sorgente sul server e il disco locale siano identici. Vedere Microsoft Visual Studio Team Foundation Server 2015 Power Tools.