Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Anda dapat menghapus proyek dari Azure DevOps Server saat proyek tidak lagi diperlukan dengan menggunakan TFSDeleteProject.
Selain itu, jika ada komponen yang tetap tidak dihapus setelah pembuatan proyek yang gagal, Anda dapat menggunakan TFSDeleteProject untuk menghapusnya.
Untuk menghapus proyek dari Azure DevOps Services menggunakan konsol admin, lihat Menghapus proyek.
Peringatan
TFSDeleteProject secara permanen menghancurkan proyek, setelah itu tidak dapat dipulihkan. Anda harus mencadangkan semua data proyek penting terlebih dahulu sebelum menggunakan TFSDeleteProject.
Untuk mengakses alat baris perintah TFSDeleteProject, buka jendela Prompt Perintah dan masukkan:
cd %programfiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TfsDeleteProject.exe
Prasyarat
Untuk menggunakan perintah TFSDeleteProject , Anda harus menjadi anggota grup keamanan Administrator Team Foundation atau grup keamanan Administrator Proyek .
Untuk informasi selengkapnya, lihat Mengatur izin administrator untuk Azure DevOps Server.
TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName
Opsi
Deskripsi
/q
Fakultatif. Gunakan mode diam. Jangan meminta konfirmasi kepada pengguna.
/force
Fakultatif. Menentukan bahwa proses penghapusan harus berlanjut meskipun beberapa komponen tidak dapat dihapus.
/excludewss
Fakultatif. Menentukan untuk tidak menghapus situs SharePoint yang terkait dengan proyek. Tentukan opsi ini untuk mempertahankan situs yang ada sehingga proyek lain dapat terus menggunakannya.
/collection:URL
Dibutuhkan. Menentukan URI dari kumpulan proyek. Anda harus menggunakan format berikut untuk URI: http://ServerName:Port/VirtualDirectoryName/CollectionName.
Jika Anda tidak menentukan direktori virtual, Anda harus menggunakan format berikut untuk URI: http://ServerName:Port/CollectionName.
TeamProjectName
Dibutuhkan. Nama proyek. Jika nama menyertakan spasi, sertakan dalam tanda kutip.
Komentar
Saat Anda membuat proyek, Azure DevOps Server membuat objek data di server yang menghosting Azure DevOps Server, dan dapat membuat objek data di server yang menghosting Produk SharePoint, dan server yang menghosting SQL Server Reporting Services.
Saat Anda menghapus proyek, laporan secara otomatis dihapus dari SQL Server Reporting Services.
Saat Anda menghapus proyek, Anda bisa memilih apakah akan menghapus objek yang dibuat untuk mendukung situs SharePoint atau tidak.
Namun, kesalahan dapat mencegah Azure DevOps Server membuat atau menghapus semua objek. Untuk memecahkan masalah ini, bagian berikut ini menyediakan informasi latar belakang, tautan ke sumber daya lain, dan langkah-langkah spesifik yang membantu Anda menentukan penyebab masalah, memperbaiki masalah, dan jika perlu menghapus objek data yang tersisa setelah menjalankan TFSDeleteProject.
Proses TFSDeleteProject
Saat Anda menggunakan alat baris perintah TFSDeleteProject, alat ini terlebih dahulu menghapus data proyek lalu memproyeksikan situs Web.
Fase 1: TFSDeleteProject menghapus data proyek
Pada fase pertama, TFSDeleteProject secara otomatis melakukan langkah-langkah berikut untuk menghapus data proyek:
TFSDeleteProject membuat inventaris semua komponen yang merupakan kandidat untuk dihapus.
Ini termasuk komponen yang terintegrasi dengan Test Manager, Team Foundation Build, dan kontrol versi Team Foundation.
TFSDeleteProject menghapus komponen yang menampilkan simpul proyek di Team Explorer.
TFSDeleteProject menandai informasi kontrol versi untuk dihapus, tetapi tidak segera menghapus informasi ini.
Informasi ini mencakup semua cabang kontrol versi dalam proyek yang ditentukan, tetapi tidak ada cabang lain di luar proyek.
- Jika cabang induk dan cabang anak keduanya berada dalam proyek, TFSDeleteProject menandai keduanya untuk penghapusan.
- Jika cabang induk dan anak berada dalam proyek yang berbeda, TFSDeleteProject hanya menandai cabang yang ditentukan.
- Jika proyek lain adalah cabang dari proyek yang ditentukan, TFSDeleteProject hanya menandai proyek yang ditentukan. Ketika proyek yang ditentukan dihapus, proyek cabang menjadi yatim piatu.
TFSDeleteProject segera menghapus data build, termasuk informasi dan data inti, definisi build, agen build, dan hasil pengujian yang terkait dengan proyek. Alat ini tidak menghapus lokasi build drop.
Anda tidak perlu menghapus lokasi build drop proyek lama sebelum membuat proyek yang menggunakan lokasi drop build yang sama.
Jika proyek yang ditentukan berisi sejumlah besar data build, penghapusan mungkin tidak selesai dalam periode batas waktu.
Untuk mengatasi masalah ini, lihat Meningkatkan Periode Time-Out, lalu jalankan TFSDeleteProject lagi.
TFSDeleteProject segera menghapus item kerja dan bidang item kerja milik proyek yang ditentukan, dan menghapus semua metadata yang tidak dibagikan.
Jika proyek yang ditentukan berisi sejumlah besar data item kerja, penghapusan mungkin tidak selesai dalam periode batas waktu.
Untuk mengatasi masalah ini, lihat Meningkatkan Periode Time-Out, lalu jalankan TFSDeleteProject lagi.
Fase 2: TFSDeleteProject menghapus situs web proyek
Pada fase kedua, TFSDeleteProject menghapus data berikut:
Penting
Langkah-langkah ini dapat memakan waktu lama untuk diselesaikan, dan selama waktu tersebut mereka dapat menurunkan performa server.
- TFSDeleteProject Menggunakan API Reporting Services untuk menghapus laporan di server yang menghosting Reporting Services.
- TFSDeleteProject Menghapus situs Web portal proyek dari server yang menghosting Produk SharePoint.
Langkah ini hanya terjadi jika proyek memiliki situs dan penghapusan situs tidak dikecualikan dalam baris perintah. (Pertimbangkan bahwa beberapa proyek dapat menunjuk ke satu situs, tetapi hanya salah satu dari mereka yang dapat menjadi pemilik di mana laporan/dasbor secara default menggunakan proyek ini).
Nota
Sebelum menghapus proyek, Anda dapat mengonfirmasi bahwa Reporting Services dan Produk SharePoint menggunakan URL proyek yang benar dengan memverifikasi pengaturan portal. Untuk informasi selengkapnya, lihat Menambahkan Portal Proyek.
Jika TFSDeleteProject berhasil menghapus semua elemen data di atas, TFSDeleteProject akan mengembalikan pesan Selesai.
Untuk memverifikasi hasil ini, lihat Memverifikasi Komponen Proyek Dihapus.
Jika satu atau beberapa komponen tidak dihapus, Anda dapat menjalankan ulang TFSProjectDelete dengan menggunakan opsi /force untuk melanjutkan proses penghapusan meskipun tidak dapat menghapus semua elemen data.
Dengan opsi ini TFSDeleteProject, melewati komponen yang tidak dapat dihapus, mengembalikan pesan kesalahan, menghapus komponen berikutnya, dan membiarkan metadata proyek dan pengaturan keamanan tetap utuh.
Data yang mungkin tetap tidak dihapus
Data berikut mungkin tetap dalam penyebaran setelah TFSDeleteProject berhasil diselesaikan:
Proyeksi data dalam kubus.
Data proyek tetap berada di kubus hingga kubus dibangun kembali, pada saat itu layanan pengontrol gudang menghapus semua data build historis yang telah dihapus dari database Azure DevOps.
Buat file dan folder cadangan.
Biner hasil build, file log dari build, dan file log yang berisi hasil pengujian diterbitkan selama proses pembangunan.
Lokasi untuk file-file ini tidak dihapus. Jika ingin menghapus file-file ini, Anda harus menghapusnya secara manual.
Metadata pelacakan item kerja yang dibagikan.
TFSDeleteProject tidak menghapus metadata apa pun untuk pelacakan item kerja yang dibagikan antar proyek.
Kontrol versi shelveset yang mengandung kode bersama.
Shelveset pada sistem pengendalian versi tidak dihapus jika ada kode di shelveset dari beberapa proyek.
Memverifikasi penghapusan proyek
Anda dapat memverifikasi keberhasilan penghapusan proyek dengan mengonfirmasi bahwa simpul proyek tidak lagi muncul di Team Explorer dan bahwa situs Web portal proyeknya dan folder laporan tidak ada lagi.
Buka Team Explorer dan verifikasi bahwa proyek tidak muncul sebagai simpul proyek.
Buka Internet Explorer dan ketik URL situs Web portal proyek. Verifikasi bahwa situs tidak ada lagi.
Di Internet Explorer, dalam kotak Alamat, ketik URL situs Web Reporting Services menggunakan salah satu format URL berikut:
http://ReportingServices/Reportshttp://ReportingServices/Reports_TFSInstance
Di Manajer Laporan, pilih Perlihatkan Detail.
Verifikasi bahwa folder untuk proyek yang dihapus tidak lagi muncul.
Pilih folder akar TfsReports, lalu pilih folder bernama untuk koleksi proyek.
Seharusnya tidak ada lagi folder dengan nama proyek yang dihapus.
Jika laporan atau situs Web tetap ada, lihat prosedur berikutnya.
Hapus komponen yang tersisa setelah penghapusan proyek parsial
Jika situs web portal proyek dan folder laporan tetap ada setelah Anda menghapus proyek, hapus situs dan folder secara manual.
Masuk ke server yang menghosting Reporting Services untuk proyek yang Anda hapus.
Buka Internet Explorer, dan di kotak Alamat ketik URL situs Web Reporting Services menggunakan salah satu format URL berikut:
http://localhost/Reportshttp://localhost/Reports_TFSInstance
Di Manajer Laporan, pilih Perlihatkan Detail.
Pilih folder akar TfsReports, lalu pilih folder bernama untuk koleksi proyek.
Pilih kotak centang untuk proyek yang dihapus.
Pilih Hapus.
Pilih OK untuk mengonfirmasi bahwa Anda ingin menghapus folder laporan untuk proyek.
Untuk menghapus situs Web portal proyek dari proyek yang dihapus, lihat halaman berikut ini di situs Web Microsoft:
Membuat, Mengedit, dan Menghapus Situs Layanan Windows SharePoint.
Meningkatkan periode waktu kedaluwarsa
Secara default, setiap panggilan layanan Web yang diminta oleh perintah TFSDeleteProject untuk menghapus komponen harus diselesaikan dalam waktu 10 menit. Jika ada enam panggilan, maka prosesnya bisa memakan waktu hingga satu jam. Jika Anda ingin menghapus proyek yang terkait dengan sejumlah besar data, Anda dapat meningkatkan periode waktu habis ini untuk sementara waktu.
Nota
Ketika Anda meningkatkan waktu tunggu, perubahan memengaruhi semua panggilan layanan web. Secara umum, Anda ingin menjaga periode waktu habis hingga 10 menit untuk mencegah panggilan layanan Web menurunkan performa server, dan menyebabkan pengguna terkunci dari penggunaan antarmuka pengguna untuk jangka waktu yang lama. Oleh karena itu, setelah proyek berhasil dihapus, Anda harus mengubah periode waktu habis kembali menjadi 10 menit.
Prasyarat
Untuk menyelesaikan prosedur ini, Anda harus menjadi Administrator Windows pada server tingkat aplikasi.
Penting
Memodifikasi registri komputer secara tidak benar dapat menyebabkan komputer Anda menjadi tidak stabil. Jika Anda tidak terbiasa dengan registri, Anda tidak boleh menambahkan atau menghapus entri, atau mengubahnya dengan cara apa pun.
Masuk ke server tingkat aplikasi.
Pilih Mulai, Jalankan, ketik regedit, lalu pilih OK.
Di panel browser, perluas HKEY_ LOCAL_MACHINE:
- Jika server menjalankan sistem operasi 32-bit, perluas: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
- Jika server menjalankan sistem operasi 64-bit, perluas: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
Jika kunci TeamFoundation\RequestSettings tidak ada, ikuti langkah-langkah berikut untuk membuatnya:
- Buka menu konteks untuk TeamFoundation, arahkan ke Baru, dan pilih Kunci.
- Beri nama kunci RequestSettings.
- Buka menu konteks RequestSettings, pilih Baru, dan pilih Nilai DWORD.
- Beri nama nilai baru DefaultTimeout.
Buka menu konteks untuk DefaultTimeout dan pilih Ubah.
Di Data Nilai, ketik periode waktu habis dalam milidetik, lalu pilih Desimal.
Misalnya, untuk meningkatkan periode waktu habis menjadi 30 menit, ketik 1800000. Untuk mengubah periode waktu habis kembali ke 10 menit, ketik 600000.
Pilih OK.
Pada menu File, pilih Keluar.
Contoh
Perintah berikut menghapus semua komponen yang terkait dengan proyek StoreFront di server Azure DevOps Server AdventureWorks1 dalam koleksi proyek Collection1 dan dari Team Explorer.
TFSDeleteProject /force /collection:http://AdventureWorks1:8080/tfs/Collection1 StoreFront