Delen via


TFVC-opslagplaatsen bouwen

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

Belangrijk

TFVC wordt alleen ondersteund door klassieke pijplijnen en biedt geen ondersteuning voor YAML.

Kies de opslagplaats die u wilt bouwen

Tijdens het bewerken van een pijplijn die gebruikmaakt van een TFVC-opslagplaats, hebt u de volgende opties.

  • Hygiëne
  • Lokaal pad opgeven
  • Labelbronnen

Naam van opslagplaats

Naam van de TFVC-opslagplaats.

Toewijzingen (werkruimte)

Neem op met een typewaarde van Alleen de mappen die uw build-pijplijn nodig heeft. Als een submap van een toegewezen map bestanden bevat die de build-pijplijn niet nodig heeft, wijst u deze toe met een typewaarde cloak.

Zorg ervoor dat u alle mappen die bestanden bevatten die uw build-pijplijn nodig heeft, toe wijzen. Als u bijvoorbeeld een ander project toevoegt, moet u mogelijk een andere toewijzing toevoegen aan de werkruimte.

Mantelmappen die u niet nodig hebt. Standaard wordt de hoofdmap van het project toegewezen in de werkruimte. Deze configuratie resulteert in het downloaden van alle bestanden in de map versiebeheer van uw project door de buildagent. Als deze map veel gegevens bevat, kan uw build systeembronnen verspillen en uw build-pijplijn vertragen door grote hoeveelheden gegevens te downloaden die niet nodig zijn.

Wanneer u projecten verwijdert, zoekt u naar toewijzingen die u uit de werkruimte kunt verwijderen.

Als dit een CI-build is, moet u er in de meeste gevallen voor zorgen dat deze toewijzingen overeenkomen met de filterinstellingen van uw CI-trigger op het tabblad Triggers.

Zie Uw werkruimte optimaliseren voor meer informatie over het optimaliseren van een TFVC-werkruimte.

De lokale opslagplaats op de agent opschonen

U kunt verschillende vormen van het opschonen van de werkmap van uw zelf-hostende agent uitvoeren voordat een build wordt uitgevoerd.

Over het algemeen moet u de opslagplaats niet opschonen voor snellere prestaties van uw zelf-hostende agents. Als u in dit geval de beste prestaties wilt krijgen, moet u ervoor zorgen dat u ook incrementeel bouwt door de optie Opschonen uit te schakelen van de taak of het hulpprogramma dat u gebruikt om te bouwen.

Als u de opslagplaats moet opschonen (bijvoorbeeld om problemen te voorkomen die worden veroorzaakt door restbestanden uit een eerdere build), vindt u de onderstaande opties.

Notitie

Opschonen is niet relevant als u een door Microsoft gehoste agent gebruikt, omdat u elke keer een nieuwe agent krijgt.

Als u de opslagplaats wilt opschonen, selecteert u waar en selecteert u vervolgens een van de volgende opties:

  • Bronnen: De build-pijplijn voert een ongedaan maken van eventuele wijzigingen uit en versleutelt de huidige werkruimte onder $(Build.SourcesDirectory).

  • Bronnen en uitvoermap: Dezelfde bewerking als de bovenstaande optie Bronnen , plus: Verwijdert en maakt opnieuw $(Build.BinariesDirectory).

  • Bronmap: Verwijdert en maakt deze $(Build.SourcesDirectory)opnieuw.

  • Alle buildmappen: verwijdert en maakt deze $(Agent.BuildDirectory)opnieuw.

CI-triggers

Selecteer Continue integratie inschakelen op het tabblad Triggers om deze trigger in te schakelen als u wilt dat de build wordt uitgevoerd wanneer iemand code incheckt.

CI-trigger.

Batchwijzigingen

Schakel dit selectievakje in als er veel teamleden wijzigingen vaak uploaden en u het aantal builds dat u uitvoert wilt verminderen. Als u deze optie selecteert wanneer een build wordt uitgevoerd, wacht het systeem totdat de build is voltooid en wordt vervolgens een andere build van alle wijzigingen in de wachtrij geplaatst die nog niet zijn gebouwd.

U kunt batchwijzigingen batchgewijs maken en deze samen bouwen.

Padfilters

Selecteer de paden voor versiebeheer die u wilt opnemen en uitsluiten. In de meeste gevallen moet u ervoor zorgen dat deze filters consistent zijn met uw TFVC-toewijzingen. U kunt padfilters gebruiken om de set bestanden te verminderen die u wilt activeren voor een build.

Tips:

  • Paden worden altijd opgegeven ten opzichte van de hoofdmap van de werkruimte.
  • Als u geen padfilters instelt, wordt de hoofdmap van de werkruimte impliciet opgenomen.
  • Als u een pad uitsluit, kunt u het niet ook opnemen, tenzij u het in aanmerking komt voor een diepere map. Als u bijvoorbeeld /tools uitsluit, kunt u /tools/trigger-runs-on-these opnemen
  • De volgorde van padfilters maakt niet uit.

Gated check-in

U kunt gated check-in gebruiken om te beschermen tegen wijzigingen die fouten veroorzaken.

Werkruimtetoewijzingen gebruiken voor filters is standaard geselecteerd. Builds worden geactiveerd wanneer een wijziging wordt ingecheckt onder een pad dat is opgegeven in uw brontoewijzingen.

Anders kunt u dit selectievakje uitschakelen en de paden in de trigger opgeven.

Hoe dit van invloed is op uw ontwikkelaars

Wanneer ontwikkelaars proberen in te checken, wordt hen gevraagd hun wijzigingen te bouwen.

Prompt voor gated check-in

Het systeem maakt vervolgens een plankenset en bouwt het.

Notitie

Als er een fout wordt weergegeven, The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-incontroleert u het bereik taakautorisatie beperken tot het huidige project voor de instelling voor niet-releasepijplijnen en controleert u of het niet is ingeschakeld.

Zie Inchecken in een map die wordt beheerd door een gated check-in build-pipeline voor meer informatie over de gated check-in-ervaring.

Optie voor het uitvoeren van CI-builds

CI-builds worden standaard niet uitgevoerd nadat het gated check-inproces is voltooid en de wijzigingen worden ingecheckt.

Als u echter wilt dat CI-builds worden uitgevoerd na een gated check-in, schakelt u het selectievakje CI-triggers uitvoeren voor doorgevoerde wijzigingen in. Wanneer u dit doet, voegt de build-pijplijn geen **NO_CI*** toe aan de beschrijving van de wijzigingenset. Als gevolg hiervan worden CI-builds uitgevoerd die worden beïnvloed door de check-in.

Een paar andere dingen die u moet weten

Veelgestelde vragen

Ik krijg de volgende fout bij het uitvoeren van een pijplijn:

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

  • Is uw taakautorisatiebereik ingesteld op verzameling? TFVC-opslagplaatsen worden meestal verspreid over de projecten in uw verzameling. Mogelijk leest of schrijft u naar een map die alleen toegankelijk is wanneer het bereik de hele verzameling is. U kunt dit instellen in organisatie-instellingen of in projectinstelling op het tabblad Pijplijnen .

Ik krijg de volgende fout bij het uitvoeren van een pijplijn:

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

  • Dit is meestal een onregelmatige fout die wordt veroorzaakt wanneer de service technische problemen ondervindt. Voer de pijplijn opnieuw uit.

Wat is scorch?

Scorch is een TFVC-stroomprogramma dat ervoor zorgt dat broncodebeheer op de server en de lokale schijf identiek zijn. Zie Microsoft Visual Studio Team Foundation Server 2015 Power Tools.