Verifiera och förbereda servermiljön för migrering
Validering innebär att du förbereder din uppgraderade Azure DevOps Server-miljö för migrering. Den här artikeln hjälper dig att felsöka vanliga problem. Om det inte finns några fel och alla valideringskontroller har skickats är din gruppprojektsamling klar och du kan gå vidare till nästa fas. Titta igenom loggfilerna för att hitta eventuella fel om inte alla kontroller har skickats.
Förutsättningar
Ladda ned det senaste datamigreringsverktyget.
Lär dig processverifieringstyper
Under valideringen avgör datamigreringsverktyget målprocessmodellen för varje projekt. Den tilldelar automatiskt en av följande två processmodeller till varje projekt i samlingen:
- Ärvd processmodell: Om projektet skapades med processmallen Agile, Scrum eller Capability Maturity Model Integration (CMMI) och aldrig anpassades.
- Värdbaserad XML-processmodell: Om projektprocessen verkar vara anpassad. En anpassad process innehåller anpassade fält, arbetsobjektstyper eller andra typer av anpassningar.
När den värdbaserade XML-processen är målprocessmodellen verifierar datamigreringsverktyget om anpassningarna kan migreras. Datamigreringsverktyget genererar två filer under valideringen:
- DataMigrationTool.log: Innehåller uppsättningen med processvalideringsfel som hittades i samlingen. Åtgärda alla processfel som hittades för att fortsätta med migreringen.
- TryMatchOobProcesses.log: Listor för varje projekt målprocessmodellen – Arv eller värdbaserad XML. För projekt som är inställda på att rikta in sig på den värdbaserade XML-processmodellen förklarar den varför de anses vara anpassade. Du behöver inte åtgärda dessa fel, men de ger vägledning om vad du ska göra om du vill migrera till arvsprocessmodellen. När en samling migreras kan du migrera ett projekt till en arvsprocessmodell.
Verifiera en gruppprojektsamling
Eftersom varje teamprojektsamling motsvarar en egen SQL-databas undersöker valideringsprocessen olika aspekter av din samling, bland annat:
- Storleken på samlingsdatabasen
- Sortering av SQL-databasen
- Identiteter för användare i samlingen
- Mallanpassningar (process)
Om du vill starta verifieringen använder du migreringsverktyget. Vi rekommenderar att du kör migreringsverktyget från en av AT-servrarna (programnivå) i din Azure DevOps Server-miljö.
För specifika kommandoradsalternativ kan du begära hjälptext med hjälp av följande kommando:
Migrator validate /help
Det vanligaste sättet att starta valideringen är genom att ange URL:en för gruppprojektsamlingen med följande struktur:
Migrator validate /collection:http://localhost:8080/tfs/DefaultCollection
Visa valideringsvarningar och -fel
När migreringsverktyget är klart genererar det loggfiler och resultat som visas på kommandotolkens skärm. Om inga fel inträffar och alla valideringskontroller godkänns är din gruppprojektsamling redo för nästa fas. Om verifieringskontrollerna misslyckas granskar du loggfilerna för att identifiera fel och åtgärdar dem sedan.
Fokusera på Migrator.log
filen, som innehåller viktig information om verifieringskontrollerna och hjälper dig att bevara anpassningen. De andra filerna motsvarar specifika valideringsfel baserat på deras namn. Sök efter strängen "Validering – Starta validering av projekt 1". Varje projekt verifieras. Sök igenom alla projekt och sök efter alla rader som innehåller prefixet [Error...
Dessutom visas fel som TryMatchOobProcesses.log
rör projekt som använder OOB-processer (Out-of-Box) (till exempel Agile, Scrum eller CMMI). Om ett projekt använder en OOB-process utan anpassningar inkluderas projektet i den ärvda modellen. Det är viktigt att fel i den här filen inte hindrar migreringsprocessen.
En lista över valideringsfel finns i Lösa valideringsfel. För varje valideringsfel angav vi felnumret, beskrivningen och den metod som ska lösas. Olika feltyper kan visas i verifieringstestloggarna. Sök hjälp från din tränade DevOps-partner, Microsoft Consulting Services eller Microsoft Premier Support för att lösa fel som påträffas.
Lösa fel med processmallar
De primära felen vi hittar är processmallsproblem. Dessa problem beror antingen på inaktuella teamprojekt som inte innehåller De senaste funktionerna i Azure DevOps Server eller anpassningar som inte stöds av Azure DevOps Services. Azure DevOps Services stöder dock en rad anpassningar och valideringen flaggar bara de som kräver lösningsförflyttning. Datamigreringsverktyget utför en omfattande kontroll av dina mallar för Azure DevOps Services-kompatibilitet, men vissa ändringar kan vara nödvändiga.
- Anpassade processmallar eller inaktuella mallar kan orsaka processvalideringsfel under migreringen.
- Om du använder en OOB Agile-, Scrum- eller CMMI-process kontrollerar du felen
TryMatchOobProcesses.log
. Felfria projekt mappas till OOB-processer. - Vissa anpassningar fungerar inte i Azure DevOps Services. Granska anpassningslistan som stöds.
- För projekt som använder äldre mallar kör du guiden Konfigurera funktioner för att uppdatera mallar med de senaste funktionerna och minska antalet fel.
- Se till att
witadmin
är tillgängligt på den dator där du åtgärdar processfel. Det är viktigt för att göra ändringar i processmallar.
Överväg följande verktyg för att lösa processfel:
- Använd kommandoradsverktyget witadmin.exe som ingår i Visual Studio-installationer. Detaljerad teknisk dokumentation om hur du åtgärdar dessa fel finns på den här länken.
- Automatisera export av processmallar för varje teamprojekt med hjälp av ett odokumenterad migratorverktygskommando: Migrator validerar /collection:http://localhost:8080/tfs/DefaultCollection /SaveProcesses.
- Utforska TFS Team Project Manager på GitHub (länk). Det gör att du kan jämföra teamprojekt med kända processmallar, inklusive färdiga mallar.
Åtgärda felen genom att ändra XML-syntaxen och tillämpa ändringarna i projektet igen.
Dricks
Vi rekommenderar att du ändrar XML manuellt i stället för att använda TFS Power Tools.
Om du vill hämta processmallen från projektet lägger du till parametern /SaveProcesses
när du kör kommandot Data Migration Tool.
Migrator validate /collection:{collection URL} /tenantDomainName:{name} /region:{region} /SaveProcesses
Det här kommandot extraherar XML från projektet och placerar den i samma mapp som loggarna. Extrahera zip-filerna till den lokala datorn så att du kan redigera filerna.
Åtgärda xml-koden nu. Använd loggarna från filen DataMigrationTool.log för att fastställa felen för varje projekt.
Vissa fel kräver att du använder ett witadmin changefield
kommando. Att ändra ett fältnamn är det vanligaste exemplet. För att spara lite tid rekommenderar vi att du kör kommandot witadmin changefield
och sedan kör datamigreringsverktyget igen. Om du gör det exporteras XML:en igen med rättade namn. Annars kan du även åtgärda fälten i XML-syntaxen manuellt.
När du har åtgärdat det tillämpar du ändringarna på Azure DevOps Server igen. Beroende på vilka ändringar du har gjort måste du köra ett eller flera witadmin-kommandon. Vi skapade ett PowerShell-skript för att automatisera den här processen. Skriptet innehåller alla witadmin-kommandon som behövs för att bekräfta hela processen.
Du kan hämta skripten i Bearbeta anpassningsskript. Använd skriptet import/ConformProject.ps1.
.\conformproject.ps1 "<collection url>" "<project name>" "<process template folder>"
När skriptet är klart kör du datamigreringsverktyget igen för att verifiera samlingen. Följ steg 1 till och med 3 tills datamigreringsverktyget inte genererar fler verifieringsfel.
Dricks
Om du är nybörjare på XML och witadmin föreslår vi att du gör en korrigering i taget och sedan överensstämmer. Fortsätt med den här loopen tills alla fel har lösts.
Uppdatera till en systemprocess
Om du började med en äldre version av Azure DevOps Server använder dina projekt troligen en äldre processmall. Om dessa projekt inte uppdaterades med guiden Konfigurera funktioner identifierar datamigreringsverktyget processfel. I sällsynta fall kanske inte ens guiden löser gamla processrelaterade problem.
Du kan få några av följande felmeddelanden:
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.
Om du inte har anpassat projektet (till exempel tillagda fält, arbetsobjektstyper och så vidare.) är det enkelt att åtgärda dessa fel. Men om du har anpassat processen räcker det inte med den här metoden. Du måste justera processmallarna manuellt för att dina anpassningar inte ska skrivas över.
Gör följande för varje projekt för att justera processen:
- Identifiera den inledande process som projektet startade med (Scrum, Agile eller CMMI).
- Besök processanpassningsskripten på GitHub och ladda ned lagringsplatsen.
- Fokusera på innehållet i mappen Migrering.
- Använd följande
ConformProject.ps1
skript för att justera ett valfritt projekt med agil systemprocess. Den här åtgärden uppdaterar hela projektet så att det blir agilt.
.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile"
Vanliga valideringsfel
VS402841: Fält X i arbetsobjektstypen Bugg har syncnamechanges=false men har regler som gör det till ett identitetsfält. Identitetsfält måste ha syncnamechanges=true. Uppdatera processmallen så att den innehåller den här ändringen.
I Azure DevOps Services har vi lagt till en regel så att varje identitetsfält måste ha attributet syncnamechanges=true
. I Azure DevOps Server gäller inte den regeln. Därför identifierar datamigreringsverktyget detta som ett problem. Att göra den här ändringen lokalt på Azure DevOps Server orsakar ingen skada.
Kör kommandot witadmin changefield
. Syntaxen för kommandot ser ut som i följande exempel.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /syncnamechanges:true
Mer information om kommandot witadmin changefield
finns i Hantera arbetsobjektfält.
TF402556: För att fältet System.IterationId ska vara väldefinierat måste du ge det namnet Iteration ID och ange dess typ till Heltal.
Det här felet associeras ofta med inaktuella processmallar. Du kan åtgärda det genom att köra guiden Konfigurera funktioner för varje projekt. Du kan också köra följande kommando för att automatisera processen.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /name:newname
TF402571: Det nödvändiga elementet BugWorkItems saknas i processkonfigurationen.
Det här felet visas ofta när en process inte har uppdaterats på ett tag. Du kan åtgärda det genom att köra guiden Konfigurera funktioner för varje projekt.
TF402564: Du har definierat globala XX-listor. Endast 64 tillåts
Azure DevOps Services har inbyggt stöd för 64 globala listor. Det här felet uppstår vanligtvis när det finns ett stort antal byggpipelines, eftersom varje ny pipeline skapar en global lista med namnet Builds - TeamProjectName
. Lös det här felet genom att ta bort alla inaktuella globala listor.
Upprepa valideringskontroller
I varje iteration kan du åtgärda fel och utföra valideringskontroller för att lösa dem, enligt verifieringsloggfilerna. Spara med den här cykeln tills alla fel har åtgärdats och du får en bekräftelse på att verifieringskontrollerna för samlingen lyckas.
Nästa steg
Relaterade artiklar
witadmin
: Anpassa och hantera objekt för spårningsarbete- Skillnader mellan anpassningar av Azure DevOps Services och Azure DevOps Server-processer
- Konfigurera funktioner efter Uppgradering av Azure DevOps Server
- Lösa valideringsfel
- Definiera globala listor i Azure DevOps Server
- Bearbeta powershell-skript för anpassning