Share via


İşlem şablonlarıyla ilgili hataları doğrulama ve çözme

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

Geçiş içeri aktarma işleminin bir parçası olarak, veri geçiş aracı koleksiyondaki projeler tarafından kullanılan işlemi denetler. Bayrak eklenen hataları düzeltin.

Hataları çözdükten sonra, tüm hataların düzeltildiğini doğrulamak için veri geçiş aracının validate komutunu yeniden çalıştırın.

Not

İçeri aktarma işleminizde ilerlemek için Geçiş Kılavuzu'nu kullanmanız önerilir. Kılavuz gerektiğinde teknik belgelere bağlantı sağlar.

Azure DevOps Server 2019'un yayımlanmasıyla birlikte TFS Veritabanı İçeri Aktarma Hizmeti, Azure DevOps'a Geçiş olarak yeniden markalandı. Buna TfsMigrator'ın kısaca veri geçiş aracı veya geçiş aracı olması dahildir. Bu hizmet hala eski İçeri Aktarma Hizmeti ile tam olarak aynı şekilde çalışır. Marka olarak TFS ile şirket içinde daha eski bir sürüm kullanıyorsanız, desteklenen sürümlerden birine yükseltme yaptığınız sürece azure DevOps'a geçiş yapmak için bu özelliği kullanmaya devam edebilirsiniz.

İşlem doğrulama türleri

Doğrulama sırasında, veri geçiş aracı her proje için hedef işlem modelini belirler. Koleksiyondaki her projeye otomatik olarak aşağıdaki iki işlem modelinden birini atar:

  • Devralınan işlem modeli: Proje Çevik, Scrum veya CMMI işlem şablonuyla oluşturulduysa ve hiçbir zaman özelleştirilmeyen.
  • Barındırılan XML işlem modeli: Proje işlemi özelleştirilmiş gibi görünüyorsa. Özelleştirilmiş bir işlem özel alanlar, iş öğesi türleri veya diğer özelleştirme türlerini içerir.

Barındırılan XML işlemi hedeflenen işlem modeli olduğunda, veri geçiş aracı özelleştirmelerin geçirilip geçirilebileceğini doğrular. Veri geçiş aracı doğrulama sırasında iki dosya oluşturur:

  • DataMigrationTool.log: Koleksiyonda bulunan işlem doğrulama hataları kümesini içerir. Geçişinize devam etmek için bulunan tüm işlem hatalarını düzeltin.

  • TryMatchOobProcesses.log: Her proje için hedef işlem modeli - Devralma veya Barındırılan XML listeleri. Barındırılan XML işlem modelini hedeflemek üzere ayarlanan projeler için, neden özelleştirildikleri açıklanmaktadır. Bu hataları düzeltmeniz gerekmez, ancak Devralma işlemi modeline geçiş yapmak istemeniz durumunda yapmanız gerekenler konusunda size rehberlik sağlar. Koleksiyon içeri aktarıldıktan sonra projeyi Devralma işlemi modeline geçirebileceğinizi unutmayın.

Müşterilerin çoğu koleksiyondaki projelerin bir karışımına sahiptir. Bazı projeler varsayılan işlem şablonunu, diğerleri ise özel işlem şablonlarını kullanır. Veri geçiş aracı her projeyi uygun şekilde denetler ve doğrular. Bazıları Devralınan bir işleme, bazıları ise Barındırılan XML işlemine eşlenmiş projelerin bir karışımına sahip olmanız mümkündür.

Özelleştirilmemiş tüm projelerde hata olup olmadığını belirlemek için TryMatchOobProcesses.log gözden geçirmenizi öneririz. Bu durumda, projenin veri içeri aktarma işleminde Devralınmış bir işleme eşlenebilmesi için ayarlamaları uygun şekilde yapın.

Sistem işlemine güncelleştirme

Azure DevOps Server'ın eski bir sürümünü kullanmaya başladıysanız projelerinizin hala eski bir işlem şablonu kullanma olasılığı vardır. Bu projeler Özellikleri Yapılandırma Sihirbazı kullanılarak güncelleştirilmediyse veri geçiş aracı işlem hatalarını bulur. Bazı nadir durumlarda, işleminiz çok eskiyse Özellikleri Yapılandırma Sihirbazı bile hataları çözemez.

Alabileceğiniz hata iletilerine bazı örnekler aşağıda verilmiştir:

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.

Projenizi hiç özelleştirmediyseniz (alanlar, iş öğesi türleri vb.) bu hataları düzeltmek oldukça basittir. sürecinizi özelleştirdiyseniz bu yaklaşım işe yaramaz. Özelleştirmelerinizin üzerine yazılmaması için işlem şablonlarını el ile değiştirmeniz gerekir.

İlk olarak, projenizin hangi işlem olarak başladığını bildiğinizden emin olun. Scrum, Agile veya CMMI mi? Bu örnekte Çevik'i kabul edelim. Ardından GitHub'da sağlanan İşlem Özelleştirme Betikleri'ne gidin ve depoyu indirin. Bu örnekte İçeri Aktar klasöründeki içeriklere odaklanacağız.

Seçtiğiniz bir projeyi Çevik sistem işlemiyle uyumlu yapmak için ConformProject.ps1 betiğini kullanın. Bu işlem, projenin tamamını Çevik olacak şekilde güncelleştirir.

.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile" 

Bunu her proje için yaptığınızdan emin olun.

İşlem hatalarını çözümleme

İşlem şablonlarınız özelleştirilmiş mi? Eski bir eski işlem şablonu mu kullanıyorsunuz? Bu durumda büyük olasılıkla işlem doğrulama hataları olur. Veri geçiş aracı, işlem şablonlarınızda kapsamlı bir denetim yapar. Azure DevOps Services için geçerli olup olmadığını denetler. Bazı ayarlamalar yapmanız ve bunları koleksiyonunuz için uygulamanız gerekecektir.

Not

OOB Çevik, Scrum veya CMMI işlemi kullanıyorsanız, büyük olasılıkla DataMigrationTool.log herhangi bir hata görmezsiniz. Bunun yerine, hataların TryMatchOobProcesses.log denetleyin. Hatasızsanız projeniz bir OOB işlemiyle eşlenir.

Azure DevOps Services'te çalışmayan çeşitli özelleştirmeler vardır. Desteklenen özelleştirmelerin listesini gözden geçirmeyi unutmayın.

Daha eski bir işlem şablonu kullanan projeleriniz varsa, veri geçiş aracı birkaç hata bulur. Bunun nedeni işlem şablonlarınızın en son işlem şablonlarıyla eşleşecek şekilde güncelleştirilmiş olmasıdır. Başlamak için her proje için Özellikleri Yapılandırma Sihirbazı'nı çalıştırmayı deneyin. Bu işlem şablonlarınızı en son özelliklerle güncelleştirmeye çalışır. Bunun yapılması hata sayısını önemli ölçüde azaltmalıdır.

Son olarak, işlem hatalarını düzeltmek için kullanmayı planladığınız makineye sahip witadmin olduğunuzdan emin olun. Bu, yerel masaüstünüz olabilir. Komut witadmin satırı aracı otomatik betiklerde kullanılır ve işlem şablonlarında her değişiklik yapılırken gereklidir.

1. Adım - Hataları gözden geçirme

DataMigrationTool.log dosyası oluşturulur ve doğrulama işleminin bulduğu hataların listesini içerir. Günlükleri görüntülemek için DataMigrationTool.log dosyasını açın. "Doğrulama - Proje 1 doğrulaması başlatılıyor" dizesini arayın. Her proje doğrulanır. Tüm projeleri tarayın ve [Hata .... ön ekini içeren satırları arayın.

Veri geçiş aracı tarafından oluşturulan işlem günlüğü dosyası

Doğrulama hatalarının listesi için bkz . İşlem içeri aktarma için doğrulama hatalarını çözme. Her doğrulama hatası için hata numarasını, açıklamasını ve çözümleme yöntemini sağladık.

2. Adım - Hataları düzeltme

Hangi projelerin hataları ve hata ayrıntıları olduğunu belirledikten sonra hataları düzeltin. Hataları düzeltmek için XML söz dizimini değiştirmeniz ve değişiklikleri projeye geri uygulamanız gerekir.

Not

Bu işi yapmak için TFS Güç Araçları'nı kullanmamanızı öneririz. Bunun yerine, XML'yi el ile değiştirmenizi kesinlikle öneririz.

Projeden işlem şablonunu almak için veri geçiş aracı komutunu çalıştırırken /SaveProcesses parametresini ekleyin.

Migrator validate /collection:{collection URL} /tenantDomainName:{name} /region:{region} /SaveProcesses

Bu komut projeden XML'yi ayıklar ve günlükler ile aynı klasöre yerleştirir. Dosyaları düzenleyebilmek için zip dosyalarını yerel makinenize ayıklayın.

Şimdi XML'yi düzeltin. Her projenin hatalarını belirlemek için dosyadaki DataMigrationTool.log günlükleri kullanın.

Veri geçiş aracı tarafından oluşturulan işlem günlüğü dosyası

Bazı hatalar için bir witadmin changefield komut kullanmanız gerekir. Alan adını değiştirmek en yaygın örnektir. Biraz zaman kazanmak için komutunu çalıştırmanızı witadmin changefield ve ardından veri geçiş aracını yeniden çalıştırmanızı öneririz. Bunu yaptığınızda XML, düzeltilen adlarla yeniden dışarı aktarılır. Aksi takdirde, XML söz dizimindeki alanları da el ile düzeltmeniz gerekir.

Bir düzeltme yaptıktan sonra değişiklikleri Azure DevOps Sunucusu'na geri uygulayın. Bunu yapmak için, yaptığınız değişikliklere bağlı olarak bir veya daha fazla witadmin komut çalıştırmanız gerekir. Bunu sizin için kolaylaştırmak için işlemi otomatikleştirmek için bir PowerShell betiği oluşturduk. Betik, işlemin tamamına witadmin uyması için gereken tüm komutları içerir.

Betikleri İşlem Özelleştirme Betikleri'nde alabilirsiniz. import/ConformProject.ps1 betiğini kullanın.

.\conformproject.ps1 "<collection url>" "<project name>" "<process template folder>"

Uyumlu proje işlemleri betiği çalışıyor

Betik tamamlandığında, koleksiyonu doğrulamak için veri geçiş aracını yeniden çalıştırın. Veri geçiş aracı artık doğrulama hatası oluşturmayıncaya kadar 1 ile 3 arasında adımları izleyin.

İpucu

XML ve witadmin'yi yeni kullanıyorsanız, tek seferde bir düzeltme yapmanızı ve ardından uyumluluk sağlamanızı öneririz. Tüm hatalar çözülene kadar bu döngüye devam edin.

Yaygın doğrulama hataları

VS402841: hatanın iş öğesi türündeki X alanı syncnamechanges=false değerine sahiptir ancak bunu bir kimlik alanı yapan kurallar içerir. Kimlik alanlarında syncnamechanges=true olmalıdır. Lütfen işlem şablonunuzu bu değişikliği içerecek şekilde güncelleştirin.

Azure DevOps Services'da her kimlik alanının syncnamechanges=true özniteliğine sahip olması için bir kural ekledik. Azure DevOps Server'da bu kural geçerli değildir. Bu nedenle, veri geçiş aracı bunu bir sorun olarak tanımlar. Endişelenmeyin, bu değişikliğin şirket içi Azure DevOps Server'da yapılması herhangi bir zarara neden olmaz.

witadmin changefield komutunu çalıştırın. Komutun söz dizimi aşağıdakine benzer:

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /syncnamechanges:true

Komut hakkında witadmin changefield daha fazla bilgi için bkz . İş öğesi alanlarını yönetme.

TF402556: System.IterationId alanının iyi tanımlanması için yineleme kimliğini adlandırmanız ve türünü Tamsayı olarak ayarlamanız gerekir.

Bu hata, eski işlem şablonları için tipiktir. Her projede Özellikleri Yapılandırma Sihirbazı'nı çalıştırmayı deneyin. Alternatif olarak aşağıdaki witadmin komutu çalıştırabilirsiniz:

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /name:newname

TF402571: İşlem Yapılandırmasında Gerekli BugWorkItems öğesi eksik.

Bu hata genellikle bir işlem bir süredir güncelleştirilmemiş olduğunda oluşur. Çözümlemek için her projede özellikleri yapılandırma sihirbazını çalıştırmayı deneyin.

TF402564: XX genel listeleri tanımladıysanız. Yalnızca 64'e izin verilir.

Azure DevOps Services varsayılan olarak 64 genel listeyi destekleyecektir. Büyük miktarda derleme işlem hattınız varsa genellikle bu hatayla karşılaşırsınız. Her yeni derleme işlem hattı için Builds - TeamProjectName adlı genel liste oluşturulur. Güncel olmayan genel listeleri kaldırmanız gerekir.