Gambaran umum migrasi

Berpindah dari Azure DevOps Server ke Azure DevOps Services adalah langkah penting bagi organisasi yang ingin memanfaatkan kolaborasi, skalabilitas, dan fitur yang ditingkatkan berbasis cloud. Dalam gambaran umum ini, kami menjelajahi opsi untuk mentransfer data berharga Anda dari Azure DevOps Server lokal ke Azure DevOps Services berbasis cloud.

Untuk informasi tentang perbedaan utama antara Azure DevOps Server lokal dan Azure DevOps Services berbasis cloud, lihat Membandingkan Layanan Azure DevOps dengan Azure DevOps Server - Azure DevOps.

Terlepas dari opsi migrasi yang Anda pilih, kami sarankan Anda menentukan aset anda yang paling penting, seperti kode sumber dan item kerja. Anda harus memikirkan ukuran data, kompleksitas organisasi, dan memastikan bahwa Anda memiliki cukup waktu untuk uji coba sebelum migrasi aktual untuk transisi yang lancar dan sukses.

Pendekatan untuk migrasi

Sangat penting untuk menilai pro dan kontra dari setiap pendekatan migrasi, berdasarkan motivasi spesifik Anda untuk mengadopsi Layanan Azure DevOps. Strategi yang tepat tergantung pada konteks dan persyaratan unik Anda.

Opsi Skenario yang direkomendasikan Batasan
1: Migrasi manual Gunakan untuk proyek yang lebih kecil atau subset data tertentu. Tidak semua data dapat dimigrasikan dengan keakuratan penuh dan tunduk pada pembatasan. Migrasi ini tidak mendukung migrasi templat XML, jadi Anda perlu membuat ulang templat proses sebagai templat yang diwariskan.
2: Alat Migrasi Data Azure DevOps Gunakan untuk migrasi skala menengah hingga besar dengan berbagai jenis data dan struktur kompleks. Anda hanya dapat "mengangkat dan menggeser" satu koleksi Azure DevOps Server ke satu organisasi Azure DevOps Services baru, tanpa modifikasi. Untuk informasi selengkapnya, lihat bagian Batasan.
3: Migrasi berbasis API Menawarkan fleksibilitas dan kustomisasi untuk organisasi dengan persyaratan migrasi atau kebutuhan otomatisasi yang unik. Perubahan keakuratan rendah, kehilangan data, dan ID dapat terjadi. Untuk informasi selengkapnya, lihat bagian Batasan.

Opsi 1: Migrasi manual

Misalnya, ketika tim Azure DevOps di Microsoft memilih untuk berpindah dari Azure DevOps Server ke Azure DevOps Services, kami juga memutuskan untuk berpindah dari Team Foundation Version Control (TFVC) ke Git. Migrasi memerlukan banyak perencanaan, tetapi ketika kami bermigrasi, kami membuat repositori Git baru menggunakan versi "tip" dari sumber TFVC kami dan meninggalkan riwayat kami di Azure DevOps Server. Kami juga memindahkan item kerja aktif kami, dan meninggalkan semua bug lama kami, menyelesaikan cerita dan tugas pengguna, dan sebagainya.

Proses migrasi manual

  1. Identifikasi aset terpenting yang perlu Anda migrasikan - biasanya kode sumber, item kerja, atau keduanya. Aset lain di Azure DevOps Server - membangun alur, menguji rencana, dan sebagainya - lebih sulit untuk bermigrasi secara manual.
  2. Identifikasi waktu yang sesuai untuk melakukan transisi.
  3. Siapkan organisasi target Anda. Buat organisasi dan proyek tim yang Anda butuhkan, provisikan pengguna, dan sebagainya.
  4. Migrasikan data Anda.
  5. Pertimbangkan untuk membuat penyebaran Azure DevOps Server sumber bersifat baca-saja. Anda dapat melakukannya dengan cara berikut:
    • Menyesuaikan izin tingkat proyek: Atur izin untuk semua pengguna atau grup menjadi baca-saja di tingkat proyek, yang dapat Anda lakukan dengan memodifikasi peran keamanan di pengaturan Proyek.
    • Ubah pengaturan repositori: Untuk setiap repositori, Anda dapat mengubah pengaturan untuk membuatnya baca-saja, yang melibatkan penyesuaian izin untuk setiap pengguna atau grup untuk hanya mengizinkan tindakan baca.
    • Gunakan grup keamanan bawaan: Gunakan grup keamanan bawaan untuk mengelola izin secara lebih efisien. Anda dapat menetapkan pengguna ke grup seperti "Pembaca" untuk menyediakan akses baca-saja.
    • Perubahan izin pembuatan skrip: Jika Anda memiliki banyak proyek atau repositori, Anda mungkin perlu membuat skripnya. Anda dapat menggunakan ekstensi Azure CLI DevOps untuk mencantumkan semua izin dan memperbaruinya sesuai kebutuhan.
    • Nonaktifkan fitur repositori: Menonaktifkan akses ke repositori, termasuk permintaan build dan pull, tetapi membuat repositori dapat ditemukan dengan peringatan. Buka Pengaturan>proyek Repositori repositori> Anda, dan di samping Nonaktifkan Repositori, pindahkan tombol ke Aktif.

Opsi 2: Alat Migrasi Azure DevOps

Alat Migrasi Data Azure DevOps adalah sekumpulan utilitas yang disediakan oleh Microsoft untuk memfasilitasi migrasi data dari Azure DevOps Server ke Azure DevOps Services. Alat-alat ini menawarkan pendekatan yang disederhanakan untuk memigrasikan berbagai artefak, termasuk kode sumber, item kerja, kasus pengujian, dan data terkait proyek lainnya.

Sebelum Anda memulai proses migrasi, alat dapat melakukan analisis pramigrasi untuk menilai kesiapan lingkungan sumber dan mengidentifikasi potensi masalah atau dependensi yang mungkin memengaruhi migrasi. Menilai kesiapan, sehingga Anda dapat merencanakan dan mengurangi potensi tantangan sebelumnya.

Batasan Alat Migrasi

Alat ini memungkinkan Anda untuk "mengangkat dan menggeser" satu Koleksi Server Azure DevOps ke satu Organisasi Layanan Azure DevOps baru, tanpa modifikasi karena alasan berikut:

  • Integritas dan konsistensi data:
    • Saat Anda memigrasikan data, menjaga integritas dan konsistensi sangat penting. Mengizinkan modifikasi selama migrasi dapat menyebabkan kerusakan atau inkonsistensi data.
    • Alat ini memastikan bahwa data tetap utuh selama proses transfer, meminimalkan risiko kesalahan.
  • Pelestarian data sumber:
    • Alat migrasi bertujuan untuk mereplikasi data sumber secara setia di lingkungan target.
    • Modifikasi dapat mengubah data asli, berpotensi menyebabkan perbedaan antara data yang dimigrasikan dan data sumber.
  • Perilaku yang dapat diprediksi:
    • Dengan membatasi modifikasi, alat ini memastikan perilaku yang dapat diprediksi selama migrasi.
    • Pengguna dapat mengandalkan hasil yang konsisten tanpa perubahan tak terduga.
  • Fokus migrasi, bukan transformasi:
    • Tujuan utama alat migrasi adalah untuk memindahkan data dari satu lokasi ke lokasi lain.
    • Transformasi data (seperti memodifikasi nilai) biasanya ditangani secara terpisah setelah migrasi.

Anda dapat menghapus menyeluruh data yang tidak Diperlukan sebelum atau sesudah migrasi.

Proses Alat Migrasi

  1. Selesaikan prasyarat seperti memperbarui Azure DevOps Server ke salah satu dari dua rilis terbaru.
  2. Validasi setiap koleksi yang ingin Anda pindahkan ke Azure DevOps Services.
  3. Hasilkan file migrasi.
  4. Siapkan semuanya untuk eksekusi migrasi Anda.
  5. Lakukan uji coba.
  6. Melakukan migrasi.
  7. Konfirmasikan bahwa pengguna dan data Anda dimigrasikan, dan koleksi berfungsi seperti yang diharapkan.

Opsi 3: Migrasi berbasis API

Jika karena alasan tertentu Anda tidak dapat menggunakan Alat Migrasi Data tetapi masih menginginkan migrasi keakuratan yang lebih tinggi daripada Opsi 2, Anda dapat memilih dari berbagai alat yang menggunakan API publik untuk memindahkan data.

Batasan migrasi berbasis API

Batasan berikut terjadi dengan migrasi berbasis API:

  • Migrasi keakuratan rendah:
    • Batasan: Alat berbasis API memberikan keakuratan yang lebih tinggi daripada penyalinan manual tetapi masih merupakan keakuratan yang relatif rendah.
    • Implikasi: Meskipun alat-alat ini menawarkan beberapa keakuratan, alat ini tidak mempertahankan semua aspek data Anda.
      • Contoh: Tidak satu pun dari mereka mempertahankan tanggal asli set perubahan TFVC (Kontrol Versi Team Foundation).
      • Banyak yang juga tidak mempertahankan tanggal revisi item kerja yang diubah.
  • Kehilangan data dan perubahan ID:
    • Batasan: Selama migrasi, alat memutar ulang perubahan item kerja, set perubahan TFVC, umpan paket, dan artefak alur.
    • Implikasi: Proses ini dapat menyebabkan kehilangan data, menghasilkan ID baru, dan mengubah tanggal pembuatan, modifikasi, dan penutupan.
      • Contoh: Konteks historis yang terkait dengan tanggal tertentu mungkin hilang, memengaruhi pelaporan dan keterlacakan.

Proses migrasi berbasis API

Secara umum, kami hanya merekomendasikan pendekatan ini jika keakuratan ekstra di luar salinan manual sangat penting. Jika Anda memutuskan untuk mengambil pendekatan ini, Anda mungkin mempertimbangkan untuk mempekerjakan konsultan yang memiliki pengalaman dengan satu atau beberapa alat dan melakukan migrasi pengujian sebelum migrasi akhir Anda.

Banyak organisasi membutuhkan migrasi keakuratan yang sangat tinggi hanya untuk sebagian pekerjaan mereka. Pekerjaan baru berpotensi dimulai langsung di Azure DevOps Services. Pekerjaan lain, dengan persyaratan keakuratan yang kurang ketat, dapat dimigrasikan menggunakan salah satu pendekatan lainnya.

Model proses yang didukung

Layanan Azure DevOps mendukung model proses berikut:

Secara default, XML yang Dihosting dinonaktifkan di Azure DevOps Services. Kami mengaktifkan model proses XML yang Dihosting selama migrasi hanya jika Anda menyesuaikan proyek di Azure DevOps Server. Setelah proyek Anda berada di XML yang Dihosting, Anda dapat memutakhirkannya ke pasca migrasi yang diwariskan.

Prinsip utama

Saat bermigrasi ke Layanan Azure DevOps, ingatlah prinsip dan batasan utama berikut:

  • Layanan Azure DevOps hanya dalam bahasa Inggris: Azure DevOps Server mendukung beberapa bahasa, namun saat ini, Azure DevOps Services hanya mendukung bahasa Inggris. Jika koleksi Anda menggunakan bahasa non-bahasa Inggris atau menggunakan bahasa non-bahasa Inggris di masa lalu dan Anda mengonversi bahasa ke bahasa Inggris selama peningkatan, Anda tidak dapat menggunakan Alat Migrasi Data.
  • Pewarisan: Proyek, yang dibuat dari templat proses Agile, Scrum, atau CMMI dan tidak pernah disesuaikan, ada pada model proses Warisan setelah migrasi.
  • XML yang dihosting: Proyek apa pun dengan kustomisasi menggunakan model proses XML yang dihosting.
  • Proses per proyek yang disesuaikan: Meskipun Azure DevOps Services memungkinkan proyek berbagi proses, Alat Migrasi Data membuat proses XML yang Dihosting untuk setiap proyek tim yang disesuaikan. Misalnya, jika Anda memiliki 30 proyek yang disesuaikan, Anda memiliki 30 proses XML yang dihosting untuk dikelola. Jika Anda ingin mengkustomisasi lebih lanjut proses XML yang Dihosting untuk semua proyek, Anda harus memperbarui setiap proses XML yang Dihosting secara terpisah.
  • Validasi proses: Validasi proses Alat Migrasi Data mendeteksi model proses target untuk setiap proyek. Sebelum dapat bermigrasi, Anda perlu memperbaiki kesalahan validasi proses apa pun untuk proyek XML yang Dihosting. Anda mungkin ingin mempertimbangkan untuk memperbarui proses proyek Anda agar sesuai dengan salah satu proses kami (Agile, Scrum, atau CMMI) untuk memanfaatkan model proses Warisan. Pelajari selengkapnya tentang jenis validasi proses dalam dokumentasi kami.

Sumber

Langkah berikutnya