Memvalidasi dan menyiapkan lingkungan server untuk migrasi

Validasi melibatkan persiapan lingkungan Azure DevOps Server yang ditingkatkan untuk migrasi. Artikel ini membantu Anda memecahkan masalah umum. Jika tidak ada kesalahan dan semua pemeriksaan validasi lulus, maka koleksi proyek tim Anda siap dan Anda dapat melanjutkan ke fase berikutnya. Lihat file log untuk menemukan kesalahan jika tidak semua pemeriksaan lulus.

Diagram tahap Validasi yang disorot dari tujuh tahap migrasi.

Prasyarat

Unduh Alat Migrasi Data terbaru.

Pelajari jenis validasi proses

Selama validasi, Alat Migrasi Data menentukan model proses target untuk setiap proyek. Ini secara otomatis menetapkan salah satu dari dua model proses berikut ke setiap proyek dalam koleksi:

  • Model proses yang diwariskan: Jika proyek dibuat dengan templat proses Agile, Scrum, atau Capability Maturity Model Integration (CMMI) dan tidak pernah disesuaikan.
  • Model proses XML yang dihosting: Jika proses proyek tampaknya disesuaikan. Proses yang dikustomisasi berisi bidang kustom, jenis item kerja, atau jenis kustomisasi lainnya.

Ketika proses XML yang Dihosting adalah model proses yang ditargetkan, Alat Migrasi Data memvalidasi apakah kustomisasi dapat dimigrasikan. Alat Migrasi Data menghasilkan dua file selama validasi:

  • DataMigrationTool.log: Berisi kumpulan kesalahan validasi proses yang ditemukan dalam koleksi. Perbaiki semua kesalahan proses yang ditemukan untuk melanjutkan migrasi Anda.
  • TryMatchOobProcesses.log: Daftar untuk setiap proyek model proses target - Warisan atau XML yang Dihosting. Untuk proyek yang diatur untuk menargetkan model proses XML yang Dihosting, ini menjelaskan mengapa proyek dianggap disesuaikan. Anda tidak perlu memperbaiki kesalahan ini, tetapi mereka memberi Anda panduan apa yang harus dilakukan jika Anda ingin bermigrasi ke model proses Warisan. Setelah koleksi dimigrasikan, Anda dapat memigrasikan proyek ke model proses Warisan.

Memvalidasi kumpulan proyek tim

Karena setiap koleksi proyek tim sesuai dengan database SQL-nya sendiri, proses validasi memeriksa berbagai aspek koleksi Anda, termasuk:

  • Ukuran database koleksi Anda
  • Kolase database SQL
  • Identitas pengguna dalam koleksi
  • Kustomisasi templat (proses)

Untuk memulai validasi, gunakan alat migrasi. Sebaiknya jalankan alat migrator dari salah satu server tingkat aplikasi (AT) di lingkungan Azure DevOps Server Anda.

Untuk opsi baris perintah tertentu, minta teks bantuan menggunakan perintah berikut:

	Migrator validate /help

Cara paling umum untuk memulai validasi adalah dengan menentukan URL kumpulan proyek tim dengan struktur berikut:

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

Melihat peringatan dan kesalahan validasi

Ketika alat migrasi selesai, alat ini menghasilkan file log dan hasil yang ditampilkan di layar prompt perintah. Jika tidak ada kesalahan yang terjadi dan semua pemeriksaan validasi lolos, koleksi proyek tim Anda siap untuk fase berikutnya. Jika pemeriksaan validasi gagal, tinjau file log untuk mengidentifikasi kesalahan, lalu atasi.

Fokus pada Migrator.log file, yang berisi detail penting tentang pemeriksaan validasi dan membantu Anda mempertahankan kustomisasi. File lain sesuai dengan kesalahan validasi tertentu berdasarkan namanya. Cari string "Validasi - Memulai validasi proyek 1." Setiap proyek divalidasi. Pindai semua proyek dan cari baris apa pun yang berisi awalan [Error...

Selain itu, mencantumkan TryMatchOobProcesses.log kesalahan yang terkait dengan proyek yang menggunakan proses Out-of-Box (OOB) (seperti Agile, Scrum, atau CMMI). Jika proyek menggunakan proses OOB tanpa kustomisasi, proyek disertakan dalam model yang diwariskan. Yang penting, kesalahan dalam file ini tidak menghambat proses migrasi.

Cuplikan layar file DataMigrationTool.log yang dihasilkan oleh Alat Migrasi Data.

Untuk daftar kesalahan validasi, lihat Mengatasi kesalahan validasi. Untuk setiap kesalahan validasi, kami memberikan nomor kesalahan, deskripsi, dan metode untuk mengatasinya. Berbagai jenis kesalahan mungkin muncul dalam log pemeriksaan validasi. Cari bantuan dari Mitra DevOps terlatih, Layanan Konsultasi Microsoft, atau Dukungan Microsoft Premier untuk mengatasi kesalahan yang dihadapi.

Mengatasi kesalahan templat proses

Kesalahan utama yang kami temukan adalah masalah templat proses. Masalah ini berasal dari proyek tim yang kedaluarsa yang tidak menggabungkan fitur terbaru Azure DevOps Server atau kustomisasi yang tidak didukung oleh Layanan Azure DevOps. Tetapi, Layanan Azure DevOps memang mendukung berbagai kustomisasi, dan validasi hanya menandai mereka yang memerlukan pramigrasi resolusi. Alat Migrasi Data melakukan pemeriksaan komprehensif templat Anda untuk kompatibilitas Azure DevOps Services, tetapi beberapa modifikasi mungkin diperlukan.

  • Templat proses yang dikustomisasi atau templat yang kedaluarsa dapat menyebabkan kesalahan validasi proses selama migrasi.
  • Jika Anda menggunakan proses OOB Agile, Scrum, atau CMMI, periksa kesalahannya TryMatchOobProcesses.log . Proyek bebas kesalahan memetakan ke proses OOB.
  • Beberapa penyesuaian tidak berfungsi di Azure DevOps Services. Tinjau daftar kustomisasi yang didukung.
  • Untuk proyek yang menggunakan templat yang lebih lama, jalankan Wizard Konfigurasi Fitur untuk memperbarui templat dengan fitur terbaru dan mengurangi jumlah kesalahan.
  • Pastikan witadmin tersedia di komputer tempat Anda memperbaiki kesalahan proses. Sangat penting untuk membuat perubahan pada templat proses.

Pertimbangkan alat berikut untuk mengatasi kesalahan proses:

  • Gunakan alat baris perintah witadmin.exe yang disertakan dengan penginstalan Visual Studio. Dokumentasi teknis terperinci tentang mengatasi kesalahan ini tersedia di tautan ini.
  • Mengotomatiskan templat proses ekspor untuk setiap proyek tim menggunakan perintah alat migrasi yang tidak terdokumentasi: Migrator memvalidasi /collection:http://localhost:8080/tfs/DefaultCollection /SaveProcesses.
  • Jelajahi Manajer Proyek Tim TFS di GitHub (tautan). Ini memungkinkan Anda membandingkan proyek tim dengan templat proses yang diketahui, termasuk templat di luar kotak.

Untuk memperbaiki kesalahan, ubah sintaks XML dan terapkan perubahan kembali ke proyek.

Tip

Kami menyarankan agar Anda mengubah XML secara manual, daripada menggunakan TFS Power Tools.

Untuk mendapatkan templat proses dari proyek, tambahkan /SaveProcesses parameter saat Anda menjalankan perintah Alat Migrasi Data.

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

Perintah ini mengekstrak XML dari proyek dan menempatkannya ke folder yang sama dengan log. Ekstrak file zip ke komputer lokal Anda sehingga Anda dapat mengedit file.

Sekarang, perbaiki XML. Gunakan log dari file DataMigrationTool.log untuk menentukan kesalahan untuk setiap proyek.

Cuplikan layar file pengelogan Proses yang dihasilkan oleh Alat Migrasi Data.

Beberapa kesalahan mengharuskan Anda menggunakan witadmin changefield perintah. Mengubah nama bidang adalah contoh yang paling umum. Untuk menghemat waktu, kami sarankan Anda menjalankan perintah witadmin changefield lalu menjalankan ulang Alat Migrasi Data. Melakukannya mengekspor ulang XML dengan nama yang dikoreksi. Jika tidak, perbaiki bidang secara manual dalam sintaks XML juga.

Setelah Anda melakukan perbaikan, terapkan perubahan kembali ke Server Azure DevOps. Bergantung pada perubahan yang Anda buat, Anda perlu menjalankan satu atau beberapa perintah witadmin. Kami membuat skrip PowerShell untuk mengotomatiskan proses ini. Skrip berisi semua perintah witadmin yang diperlukan untuk mengonfirmasi seluruh proses.

Anda bisa mendapatkan skrip di Skrip Kustomisasi Proses. Gunakan skrip import/ConformProject.ps1.

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

Saat skrip selesai, jalankan ulang Alat Migrasi Data untuk memvalidasi koleksi. Ikuti langkah 1 hingga 3 hingga Alat Migrasi Data tidak menghasilkan kesalahan validasi lagi.

Cuplikan layar proses proyek yang sesuai di PowerShell.

Tip

Jika Anda baru menggunakan XML dan witadmin, kami sarankan Anda membuat satu perbaikan pada satu waktu lalu sesuaikan. Lanjutkan perulangan ini hingga semua kesalahan diselesaikan.

Memperbarui ke proses sistem

Jika Anda memulai dengan versi Azure DevOps Server yang lebih lama, proyek Anda kemungkinan menggunakan templat proses yang lebih lama. Jika proyek ini tidak diperbarui menggunakan Wizard Konfigurasi Fitur, Alat Migrasi Data mendeteksi kesalahan proses. Dalam kasus yang jarang terjadi, bahkan wizard mungkin tidak menyelesaikan masalah terkait proses lama.

Anda mungkin menerima beberapa contoh pesan kesalahan berikut:

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.

Jika Anda tidak menyesuaikan proyek Anda (misalnya, menambahkan bidang, jenis item kerja, dan sebagainya.), memperbaiki kesalahan ini sangat mudah. Tetapi, jika Anda menyesuaikan proses Anda, pendekatan ini tidak cukup. Anda perlu menyesuaikan templat proses secara manual untuk mempertahankan kustomisasi Anda agar tidak ditimpa.

Lakukan langkah-langkah berikut, untuk setiap proyek, untuk menyelaraskan proses Anda:

  1. Identifikasi proses awal proyek Anda yang dimulai dengan (Scrum, Agile, atau CMMI).
  2. Kunjungi Skrip Kustomisasi Proses di GitHub dan unduh repositori.
  3. Fokus pada konten di folder Migrasi.
  4. Gunakan skrip berikut ConformProject.ps1 untuk menyelaraskan proyek pilihan Anda dengan proses sistem Agile. Tindakan ini memperbarui seluruh proyek menjadi Agile.
.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile"  

Kesalahan validasi umum

VS402841: Bidang X dalam jenis item kerja Bug memiliki syncnamechanges=false tetapi memiliki aturan yang menjadikannya bidang identitas. Bidang identitas harus memiliki syncnamechanges=true. Harap perbarui templat proses Anda untuk menyertakan perubahan ini.

Di Azure DevOps Services, kami menambahkan aturan sehingga setiap bidang identitas harus memiliki syncnamechanges=true atribut . Di Azure DevOps Server aturan tersebut tidak berlaku. Oleh karena itu, Alat Migrasi Data mengidentifikasi ini sebagai masalah. Membuat perubahan ini di Azure DevOps Server lokal tidak menyebabkan kerusakan apa pun.

Jalankan perintah witadmin changefield . Sintaks untuk perintah terlihat seperti contoh berikut.

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

Untuk informasi selengkapnya tentang perintah witadmin changefield , lihat Mengelola bidang item kerja.

TF402556: Agar System.IterationId bidang didefinisikan dengan baik, Anda harus menamainya ID Iterasi dan mengatur jenisnya ke Bilangan Bulat.

Kesalahan ini sering dikaitkan dengan templat proses yang kedaluarsa. Untuk mengatasinya, Anda dapat menjalankan Wizard Konfigurasi Fitur untuk setiap proyek. Atau, Anda dapat menjalankan perintah berikut untuk mengotomatiskan proses.

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

TF402571: BugWorkItems elemen yang diperlukan hilang dari Konfigurasi Proses.

Kesalahan ini biasanya terlihat ketika proses tidak diperbarui selama beberapa waktu. Untuk memperbaikinya, jalankan Wizard Konfigurasi Fitur untuk setiap proyek.

TF402564: Anda telah menentukan daftar global XX. Hanya 64 yang diizinkan

Azure DevOps Services secara asli mendukung 64 daftar global. Kesalahan ini biasanya muncul ketika ada sejumlah besar alur build, karena setiap alur baru membuat daftar global bernama Builds - TeamProjectName. Untuk mengatasi kesalahan ini, hapus daftar global yang sudah kedaluarsa.

Ulangi pemeriksaan validasi

Di setiap perulangan, atasi kesalahan dan lakukan pemeriksaan validasi untuk mengatasinya, seperti yang ditunjukkan oleh file log validasi. Bertahan dengan siklus ini hingga semua kesalahan diperbaikat dan Anda menerima konfirmasi bahwa pemeriksaan validasi koleksi berhasil.

Langkah berikutnya