Serveromgeving valideren en voorbereiden voor migratie
Validatie omvat het voorbereiden van uw bijgewerkte Azure DevOps Server-omgeving voor migratie. Dit artikel helpt u bij het oplossen van veelvoorkomende problemen. Als er geen fouten zijn opgetreden en alle validatiecontroles zijn geslaagd, is uw teamprojectverzameling gereed en kunt u verdergaan met de volgende fase. Bekijk de logboekbestanden om fouten te vinden als niet alle controles zijn geslaagd.
Vereisten
Download het meest recente hulpprogramma voor gegevensmigratie.
Procesvalidatietypen leren
Tijdens de validatie bepaalt het hulpprogramma voor gegevensmigratie het doelprocesmodel voor elk project. Er wordt automatisch een van de volgende twee procesmodellen toegewezen aan elk project in de verzameling:
- Overgenomen procesmodel: Als het project is gemaakt met de processjabloon Agile, Scrum of Capability Maturity Model Integration (CMMI) en nooit is aangepast.
- Gehost XML-procesmodel: Als het projectproces lijkt te worden aangepast. Een aangepast proces bevat aangepaste velden, typen werkitems of andere typen aanpassingen.
Wanneer het gehoste XML-proces het doelprocesmodel is, valideert het hulpprogramma voor gegevensmigratie of de aanpassingen kunnen worden gemigreerd. Het hulpprogramma voor gegevensmigratie genereert twee bestanden tijdens de validatie:
- DataMigrationTool.log: bevat de set procesvalidatiefouten in de verzameling. Los alle procesfouten op die zijn gevonden om door te gaan met uw migratie.
- TryMatchOobProcesses.log: Geeft een lijst weer voor elk project het doelprocesmodel - Overname of gehoste XML. Voor projecten die zijn ingesteld voor het doel van het gehoste XML-procesmodel, wordt uitgelegd waarom ze worden beschouwd als aangepast. U hoeft deze fouten niet op te lossen, maar ze geven u richtlijnen voor het geval u wilt migreren naar het overnameprocesmodel. Zodra een verzameling wordt gemigreerd, kunt u een project migreren naar een overnameprocesmodel.
Een teamprojectverzameling valideren
Omdat elke teamprojectverzameling overeenkomt met een eigen SQL-database, onderzoekt het validatieproces verschillende aspecten van uw verzameling, waaronder:
- Grootte van uw verzamelingsdatabase
- Sortering van de SQL-database
- Identiteiten van gebruikers in de verzameling
- Sjabloonaanpassingen (proces)
Gebruik het migratiehulpprogramma om de validatie te starten. Het is raadzaam om het migratiehulpprogramma uit te voeren vanaf een van de AT-servers (Application Tier) in uw Azure DevOps Server-omgeving.
Voor specifieke opdrachtregelopties vraagt u Help-tekst aan met behulp van de volgende opdracht:
Migrator validate /help
De meest voorkomende manier om validatie te starten is door de URL van de teamprojectverzameling op te geven met de volgende structuur:
Migrator validate /collection:http://localhost:8080/tfs/DefaultCollection
Validatiewaarschuwingen en -fouten weergeven
Wanneer het migratieprogramma is voltooid, worden logboekbestanden en resultaten gegenereerd die worden weergegeven op het opdrachtpromptscherm. Als er geen fouten optreden en alle validatiecontroles zijn geslaagd, is uw teamprojectverzameling gereed voor de volgende fase. Als validatiecontroles mislukken, controleert u de logboekbestanden om fouten te identificeren en kunt u deze vervolgens oplossen.
Richt u op het Migrator.log
bestand, dat essentiële informatie bevat over de validatiecontroles en helpt u bij het behouden van aanpassingen. De andere bestanden komen overeen met specifieke validatiefouten op basis van hun namen. Zoek naar de tekenreeks 'Validatie - validatie van project 1 starten'. Elk project wordt gevalideerd. Door alle projecten scannen en zoeken naar regels die een voorvoegsel van [Error...
TryMatchOobProcesses.log
De lijst bevat ook fouten met betrekking tot projecten die gebruikmaken van Out-Of-Box-processen (OOB) (zoals Agile, Scrum of CMMI). Als een project een OOB-proces zonder aanpassingen gebruikt, wordt het project opgenomen in het overgenomen model. Belangrijk is dat fouten in dit bestand het migratieproces niet belemmeren.
Zie Validatiefouten oplossen voor een lijst met validatiefouten. Voor elke validatiefout hebben we het foutnummer, de beschrijving en de methode opgegeven die moet worden opgelost. Er kunnen verschillende fouttypen worden weergegeven in de validatiecontrolelogboeken. Zoek hulp van uw getrainde DevOps-partner, Microsoft Consulting Services of Microsoft Premier Support voor het oplossen van fouten die zijn opgetreden.
Processjabloonfouten oplossen
De belangrijkste fouten die we vinden, zijn processjabloonproblemen. Deze problemen zijn het gevolg van verouderde teamprojecten die niet de nieuwste functies van Azure DevOps Server of niet-ondersteunde aanpassingen van Azure DevOps Services bevatten. Azure DevOps Services biedt echter wel ondersteuning voor een reeks aanpassingen en de validatie markeert alleen de aanpassingen waarvoor vooraf migratie van de oplossing is vereist. Het hulpprogramma voor gegevensmigratie voert een uitgebreide controle uit van uw sjablonen voor compatibiliteit met Azure DevOps Services, maar er zijn mogelijk enkele wijzigingen nodig.
- Aangepaste processjablonen of verouderde sjablonen kunnen tijdens de migratie procesvalidatiefouten veroorzaken.
- Als u een OOB Agile-, Scrum- of CMMI-proces gebruikt, controleert u de
TryMatchOobProcesses.log
op fouten. Foutloze projecten worden toegewezen aan OOB-processen. - Sommige aanpassingen werken niet in Azure DevOps Services. Bekijk de lijst met ondersteunde aanpassingen.
- Voor projecten die oudere sjablonen gebruiken, voert u de wizard Functies configureren uit om sjablonen bij te werken met recente functies en het aantal fouten te verminderen.
- Zorg ervoor dat
witadmin
deze beschikbaar is op de computer waarop u procesfouten kunt oplossen. Het is essentieel dat u wijzigingen aanbrengt in processjablonen. - Regels voor en niet moeten worden uitgeschakeld of verwijderd uit de processjabloon voordat u de migratie uitvoert. Deze regels worden ondersteund in Azure DevOps Service, maar worden niet ondersteund als onderdeel van het migratieproces. Zodra uw verzameling is gemigreerd, kunt u deze regels weer toevoegen aan de processjabloon.
Bekijk de volgende hulpprogramma's voor het oplossen van procesfouten:
- Gebruik het witadmin.exe opdrachtregelprogramma dat is opgenomen in Visual Studio-installaties. Gedetailleerde technische documentatie over het oplossen van deze fouten is beschikbaar via deze koppeling.
- Automatiseer het exporteren van processjablonen voor elk teamproject met behulp van een opdracht voor een niet-gedocumenteerd migratieprogramma: Migrator valideert /collection:http://localhost:8080/tfs/DefaultCollection /SaveProcesses.
- Verken de TFS-teamprojectbeheerder op GitHub (koppeling). Hiermee kunt u teamprojecten vergelijken met bekende processjablonen, waaronder out-of-the-box-sjablonen.
Als u de fouten wilt oplossen, wijzigt u de XML-syntaxis en past u de wijzigingen weer toe op het project.
Tip
U wordt aangeraden de XML handmatig te wijzigen in plaats van TFS Power Tools te gebruiken.
Als u de processjabloon uit het project wilt ophalen, voegt u de /SaveProcesses
parameter toe wanneer u de opdracht Data Migration Tool uitvoert.
Migrator validate /collection:{collection URL} /tenantDomainName:{name} /region:{region} /SaveProcesses
Met deze opdracht wordt de XML uit het project geëxtraheerd en in dezelfde map als de logboeken geplaatst. Pak de zip-bestanden uit op uw lokale computer, zodat u de bestanden kunt bewerken.
Herstel nu de XML. Gebruik de logboeken uit het DataMigrationTool.log-bestand om de fouten voor elk project te bepalen.
Voor sommige fouten moet u een witadmin changefield
opdracht gebruiken. Het wijzigen van een veldnaam is het meest voorkomende voorbeeld. Als u tijd wilt besparen, raden we u aan de witadmin-opdracht changefield
uit te voeren en vervolgens het hulpprogramma voor gegevensmigratie opnieuw uit te voeren. Als u dit doet, exporteert u de XML opnieuw met de gecorrigeerde namen. Anders corrigeert u ook handmatig de velden in de XML-syntaxis.
Nadat u een oplossing hebt aangebracht, past u de wijzigingen weer toe op de Azure DevOps-server. Afhankelijk van de wijzigingen die u hebt aangebracht, moet u een of meer witadmin-opdrachten uitvoeren. We hebben een PowerShell-script gemaakt om dit proces te automatiseren. Het script bevat alle witadmin-opdrachten die nodig zijn om het hele proces te bevestigen.
U kunt de scripts ophalen bij Procesaanpassingsscripts. Gebruik het script import/ConformProject.ps1.
.\conformproject.ps1 "<collection url>" "<project name>" "<process template folder>"
Wanneer het script is voltooid, voert u het hulpprogramma voor gegevensmigratie opnieuw uit om de verzameling te valideren. Volg stap 1 tot en met 3 totdat het hulpprogramma voor gegevensmigratie geen validatiefouten meer genereert.
Tip
Als u niet bekend bent met XML en witadmin, raden we u aan om één oplossing tegelijk te maken en vervolgens te voldoen. Ga door met deze lus totdat alle fouten zijn opgelost.
Bijwerken naar een systeemproces
Als u met een oudere versie van Azure DevOps Server bent begonnen, gebruiken uw projecten waarschijnlijk een oudere processjabloon. Als deze projecten niet zijn bijgewerkt met behulp van de wizard Functies configureren, detecteert het hulpprogramma voor gegevensmigratie procesfouten. In zeldzame gevallen kan zelfs de wizard oude procesgerelateerde problemen niet oplossen.
Mogelijk ontvangt u enkele van de volgende voorbeeldfoutberichten:
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element PortfolioBacklog is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element BugWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element FeedbackRequestWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element FeedbackResponseWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Team.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField RemainingWork.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Order.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Effort.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Activity.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationStartInformation.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationLaunchInstructions.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationType.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF400572: The Project Process Settings must be configured for this feature to be used.
Als u uw project niet hebt aangepast (bijvoorbeeld toegevoegde velden, typen werkitems, enzovoort), is het oplossen van deze fouten eenvoudig. Maar als u uw proces hebt aangepast, volstaat deze aanpak niet. U moet de processjablonen handmatig aanpassen om ervoor te zorgen dat uw aanpassingen niet worden overschreven.
Voer voor elk project de volgende stappen uit om uw proces uit te lijnen:
- Identificeer het eerste proces waarmee uw project is gestart (Scrum, Agile of CMMI).
- Ga naar de scripts voor procesaanpassing op GitHub en download de opslagplaats.
- Focus op de inhoud in de map Migratie.
- Gebruik het volgende
ConformProject.ps1
script om een project van uw keuze uit te lijnen met het Agile-systeemproces. Met deze actie wordt het hele project bijgewerkt naar Agile.
.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile"
Veelvoorkomende validatiefouten
VS402841: Veld X in werkitemtype Bug heeft syncnamechanges=false, maar heeft regels waardoor het een identiteitsveld wordt. Identiteitsvelden moeten syncnamechanges=true hebben. Werk uw processjabloon bij om deze wijziging op te nemen.
In Azure DevOps Services hebben we een regel toegevoegd, zodat elk identiteitsveld het syncnamechanges=true
kenmerk moet hebben. In Azure DevOps Server is die regel niet van toepassing. Daarom identificeert het hulpprogramma voor gegevensmigratie dit als een probleem. Als u deze wijziging op azure DevOps Server on-premises aanbrengt, kan dit geen kwaad.
Voer de witadmin-opdracht changefield
uit. De syntaxis voor de opdracht ziet eruit zoals in het volgende voorbeeld.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /syncnamechanges:true
Zie Werkitemvelden beheren voor meer informatie over de opdracht witadminchangefield
.
TF402556: Voor veld System.IterationId moet u iteratie-id een naam geven en het type instellen op Geheel getal.
Deze fout is vaak gekoppeld aan verouderde processjablonen. U kunt dit oplossen door de wizard Functies configureren voor elk project uit te voeren. U kunt ook de volgende opdracht uitvoeren om het proces te automatiseren.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /name:newname
TF402571: Vereist element BugWorkItems ontbreekt in procesconfiguratie.
Deze fout wordt vaak weergegeven wanneer een proces enige tijd niet is bijgewerkt. U kunt dit oplossen door de wizard Functies configureren voor elk project uit te voeren.
TF402564: U hebt globale XX-lijsten gedefinieerd. Slechts 64 zijn toegestaan
Azure DevOps Services ondersteunt systeemeigen 64 globale lijsten. Deze fout treedt meestal op wanneer er een groot aantal build-pijplijnen is, omdat elke nieuwe pijplijn een globale lijst met de naam Builds - TeamProjectName
maakt. Als u deze fout wilt oplossen, verwijdert u verouderde algemene lijsten.
Validatiecontroles herhalen
Los in elke iteratie fouten op en voer validatiecontroles uit om deze op te lossen, zoals aangegeven door de validatielogboekbestanden. Houd deze cyclus vast totdat alle fouten zijn opgelost en u ontvangt een bevestiging dat de verzamelingsvalidatiecontroles zijn geslaagd.
Volgende stappen
Verwante artikelen:
witadmin
: Objecten aanpassen en beheren voor het bijhouden van werk- Verschillen tussen azure DevOps Services en azure DevOps Server-processjabloonaanpassingen
- Functies configureren na de upgrade van Azure DevOps Server
- Validatiefouten oplossen
- Globale lijsten definiëren in Azure DevOps Server
- PowerShell-scripts voor procesaanpassing