Sunucu ortamını geçiş için doğrulama ve hazırlama

Doğrulama, yükseltilmiş Azure DevOps Server ortamınızı geçiş için hazırlamayı içerir. Bu makale, sık karşılaşılan sorunları gidermenize yardımcı olur. Hata yoksa ve tüm doğrulama denetimleri geçirildiyse, takım projesi koleksiyonunuz hazırdır ve sonraki aşamaya geçebilirsiniz. Tüm denetimler geçirilmediyse hataları bulmak için günlük dosyalarına bakın.

Geçişin yedi aşamasının Vurgulanmış Doğrulama aşaması diyagramı.

Önkoşullar

En son Veri Geçiş Aracı'nı indirin.

İşlem doğrulama türlerini öğrenme

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 Yetenek Olgunluk Modeli Tümleştirmesi (CMMI) işlem şablonuyla oluşturulduysa ve hiçbir zaman özelleştirilemediyse.
  • 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 geçirildikten sonra projeyi Devralma işlemi modeline geçirebilirsiniz.

Takım projesi koleksiyonunu doğrulama

Her takım projesi koleksiyonu kendi SQL veritabanına karşılık olduğundan, doğrulama işlemi koleksiyonunuzun çeşitli yönlerini inceler, örneğin:

  • Koleksiyon veritabanınızın boyutu
  • SQL veritabanının harmanlanması
  • Koleksiyondaki kullanıcıların kimlikleri
  • Şablon özelleştirmeleri (işlem)

Doğrulamayı başlatmak için geçiş aracını kullanın. Geçiş aracını Azure DevOps Server ortamınızdaki uygulama katmanı (AT) sunucularından birinden çalıştırmanızı öneririz.

Belirli komut satırı seçenekleri için aşağıdaki komutu kullanarak yardım metni isteyin:

	Migrator validate /help

Doğrulamaya başlamanın en yaygın yolu, takım projesi koleksiyonunun URL'sini aşağıdaki yapıyla belirtmektir:

	Migrator validate /collection:http://localhost:8080/tfs/DefaultCollection

Doğrulama uyarılarını ve hatalarını görüntüleme

Geçiş aracı tamamlandığında, komut istemi ekranında görüntülenen günlük dosyalarını ve sonuçları oluşturur. Hata oluşmaz ve tüm doğrulama denetimleri geçerse, takım projesi koleksiyonunuz bir sonraki aşamaya hazır olur. Doğrulama denetimlerinin başarısız olması durumunda, hataları belirlemek için günlük dosyalarını gözden geçirin ve sonra bunları giderin.

Migrator.log Doğrulama denetimleri hakkında temel ayrıntıları içeren ve özelleştirmeyi korumanıza yardımcı olan dosyaya odaklanın. Diğer dosyalar, adlarına göre belirli doğrulama hatalarına karşılık gelir. "Doğrulama - Proje 1'in doğrulanması başlatılıyor" dizesini arayın. Her proje doğrulanır. Tüm projeleri tarayın ve ön ekini içeren satırları arayın [Error...

Ayrıca, TryMatchOobProcesses.log İlk Çalıştırma (OOB) işlemlerini (Çevik, Scrum veya CMMI gibi) kullanan projelerle ilgili hatalar listelenir. Bir proje özelleştirmeleri olmayan bir OOB işlemi kullanıyorsa, proje devralınan modele dahil edilir. Daha da önemlisi, bu dosyadaki hatalar geçiş işlemini engellemez.

Veri Geçiş Aracı tarafından oluşturulan DataMigrationTool.log dosyasının ekran görüntüsü.

Doğrulama hatalarının listesi için bkz . Doğrulama hatalarını çözme. Her doğrulama hatası için hata numarasını, açıklamasını ve çözüm yöntemini sağladık. Doğrulama denetimi günlüklerinde çeşitli hata türleri görünebilir. Karşılaşılan hataları çözmek için eğitilmiş DevOps İş Ortağınızdan, Microsoft Danışmanlık Hizmetleri'nden veya Microsoft Premier Desteği'nden yardım isteyin.

İşlem şablonu hatalarını çözme

Bulduğumuz birincil hatalar işlem şablonu sorunlarıdır. Bu sorunlar, eski takım projelerinin Azure DevOps Server'ın en son özelliklerini eklememesinden veya Azure DevOps Services tarafından desteklenmeyen özelleştirmelerden kaynaklanır. Ancak Azure DevOps Services bir dizi özelleştirmeyi destekler ve doğrulama yalnızca çözüm ön geçişini gerektirenlere bayrak ekler. Veri Geçiş Aracı, Şablonlarınızda Azure DevOps Services uyumluluğuna yönelik kapsamlı bir denetim gerçekleştirir, ancak bazı değişiklikler gerekebilir.

  • Özelleştirilmiş işlem şablonları veya eski şablonlar, geçiş sırasında işlem doğrulama hatalarıyla karşılanabilir.
  • OOB Çevik, Scrum veya CMMI işlemi kullanıyorsanız hataları denetleyin TryMatchOobProcesses.log . Hatasız projeler OOB işlemleriyle eşler.
  • Bazı özelleştirmeler Azure DevOps Services'te çalışmaz. Desteklenen özelleştirme listesini gözden geçirin.
  • Eski şablonları kullanan projelerde, şablonları son özelliklerle güncelleştirmek ve hata sayısını azaltmak için Özellikleri Yapılandırma Sihirbazı'nı çalıştırın.
  • İşlem hatalarını düzelttiğiniz makinede kullanılabilir olduğundan emin olun witadmin . İşlem şablonlarında değişiklik yapmak için gereklidir.

İşlem hatalarını çözmek için aşağıdaki araçları göz önünde bulundurun:

  • Visual Studio yüklemelerinde bulunan witadmin.exe komut satırı aracını kullanın. Bu hataların giderilmesiyle ilgili ayrıntılı teknik belgelere bu bağlantıdan ulaşabilirsiniz.
  • Belgelenmemiş bir geçiş aracı komutu kullanarak her takım projesi için işlem şablonlarını dışarı aktarma işlemini otomatikleştirin: Migrator validates /collection:http://localhost:8080/tfs/DefaultCollection /SaveProcesses.
  • GitHub'da TFS Team Project Manager'ı keşfedin (bağlantı). Ekip projelerini kullanıma hazır şablonlar da dahil olmak üzere bilinen işlem şablonlarıyla karşılaştırmanıza olanak tanır.

Hataları düzeltmek için XML söz dizimini değiştirin ve değişiklikleri projeye geri uygulayın.

İpucu

XML'yi TFS Power Tools kullanmak yerine el ile değiştirmenizi öneririz.

Projeden işlem şablonunu almak için Veri Geçiş Aracı komutunu çalıştırdığınızda parametresini ekleyin /SaveProcesses .

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

Bu komut projeden XML'yi ayıklar ve günlüklerle 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 DataMigrationTool.log dosyasındaki günlükleri kullanın.

Veri Geçiş Aracı tarafından oluşturulan İşlem günlüğü dosyasının ekran görüntüsü.

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 witadmin changefield komutunu çalıştırmanızı ve ardından Veri Geçiş Aracı'nı yeniden çalıştırmanızı öneririz. Bunu yaptığınızda XML düzeltilmiş adlarla yeniden dışarı aktarılır. Aksi takdirde, XML söz dizimindeki alanları da el ile düzeltin.

Bir düzeltme yaptıktan sonra değişiklikleri Azure DevOps Sunucusu'na geri uygulayın. Yaptığınız değişikliklere bağlı olarak, bir veya daha fazla witadmin komutu çalıştırmanız gerekir. Bu işlemi otomatikleştirmek için bir PowerShell betiği oluşturduk. Betik, işlemin tamamını onaylamak için gereken tüm witadmin komutlarını 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>" 

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.

PowerShell'de uyumlu proje işleminin ekran görüntüsü.

İpucu

XML ve witadmin'i yeni kullanıyorsanız, tek seferde bir düzeltme yapmanızı ve ardından uyumlu hale getirmenizi öneririz. Tüm hatalar çözülene kadar bu döngüye devam edin.

Sistem işlemine güncelleştirme

Azure DevOps Server'ın daha eski bir sürümüyle başladıysanız projeleriniz büyük olasılıkla eski bir işlem şablonu kullanır. Bu projeler Özellikleri Yapılandırma Sihirbazı kullanılarak güncelleştirilmezse, Veri Geçiş Aracı işlem hatalarını algılar. Nadir durumlarda sihirbaz bile işlemle ilgili eski sorunları çözemeyebilir.

Aşağıdaki örnek hata iletilerinden bazılarını alabilirsiniz:

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 özelleştirmediyseniz (örneğin, alanlar, iş öğesi türleri vb.), bu hataları düzeltmek kolaydır. Ancak işleminizi özelleştirdiyseniz bu yaklaşım yeterli değildir. Özelleştirmelerinizin üzerine yazılmasını korumak için işlem şablonlarını el ile ayarlamanız gerekir.

İşleminizi hizalamak için her proje için aşağıdaki adımları uygulayın:

  1. Projenizin başladığı ilk işlemi (Scrum, Çevik veya CMMI) belirleyin.
  2. GitHub'da İşlem Özelleştirme Betikleri'ni ziyaret edin ve depoyu indirin.
  3. Geçiş klasöründeki içeriklere odaklanın.
  4. Seçtiğiniz bir projeyi Çevik sistem işlemiyle hizalamak için aşağıdaki ConformProject.ps1 betiği kullanın. Bu eylem tüm projeyi Çevik olacak şekilde güncelleştirir.
.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile"  

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 özniteliğine sahip olması için bir kural ekledik syncnamechanges=true . Azure DevOps Server'da bu kural geçerli değildir. Bu nedenle, Veri Geçiş Aracı bunu bir sorun olarak tanımlar. Bu değişikliğin şirket içinde Azure DevOps Server'da yapılması herhangi bir zarara neden olmaz.

witadmin changefield komutunu çalıştırın. Komutun söz dizimi aşağıdaki örneğe benzer.

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

witadmin changefield komutu hakkında 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 genellikle eski işlem şablonlarıyla ilişkilendirilir. Bu sorunu gidermek için, her proje için Özellikleri Yapılandırma Sihirbazı'nı çalıştırabilirsiniz. Alternatif olarak, işlemi otomatikleştirmek için aşağıdaki komutu yürütebilirsiniz.

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üre güncelleştirilmezken görülür. Bunu düzeltmek için her proje için Özellikleri Yapılandırma Sihirbazı'nı çalıştırın.

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

Azure DevOps Services 64 genel listeyi yerel olarak destekler. Bu hata genellikle çok sayıda derleme işlem hattı olduğunda ortaya çıkar çünkü her yeni işlem hattı adlı Builds - TeamProjectNamebir genel liste oluşturur. Bu hatayı düzeltmek için, güncel olmayan genel listeleri kaldırın.

Doğrulama denetimlerini yinele

Her yinelemede hataları giderin ve doğrulama günlüğü dosyalarında gösterildiği gibi bunları çözmek için doğrulama denetimleri gerçekleştirin. Tüm hatalar düzeltilinceye ve koleksiyon doğrulama denetimlerinin başarılı olduğunu onaylayana kadar bu döngüde kalıcı olun.

Sonraki adımlar