Menginstal dan mengonfigurasi Pencarian

Azure DevOps Server | Azure DevOps Server 2022

Artikel ini menunjukkan kepada Anda cara menginstal, mengonfigurasi, dan menghapus instalan mesin pencari yang aman untuk Azure DevOps Server yang berjalan pada perangkat keras Anda sendiri. Untuk informasi selengkapnya, lihat artikel berikut ini:

Prasyarat

Kategori Persyaratan
Permissions Anggota grup Administrator Koleksi Proyek untuk organisasi. Pengguna non-administratif juga dapat meminta untuk menambahkan ekstensi ke PCA mereka.
Siapkan Untuk informasi selengkapnya, lihat Menginstal dan mengonfigurasi Azure DevOps Server dan Persyaratan dan kompatibilitas.

Rekomendasi perangkat keras

Pencarian berfungsi di server fisik atau komputer virtual apa pun yang menjalankan Azure DevOps Server. Anda dapat menyiapkan Pencarian di server yang sama atau server lain. Jika Anda menggunakan server yang sama, pertimbangkan penggunaan CPU.

Saran

Mengonfigurasi Pencarian di server terpisah untuk lingkungan produksi.

Untuk performa yang dapat diterima dalam skenario multi-pengguna, pertimbangkan rekomendasi berikut:

  • Kurang dari 250 pengguna dengan Pencarian yang terletak di server (biasanya digunakan untuk tujuan demonstrasi dan percobaan):
    • Prosesor inti quad, RAM 16 GB (minimum)
    • Faktor Pemanfaatan CPU kurang dari 50%
    • Hard drive dengan kecepatan tinggi yang didukung oleh penyimpanan Solid State Drive (SSD)
  • Kurang dari 500 pengguna dengan Pencarian yang terletak di server terpisah :
    • Prosesor inti ganda, RAM 8 GB (minimum)
    • Hard drive dengan kecepatan tinggi yang didukung oleh penyimpanan Solid State Drive (SSD)
  • Kurang dari 1.000 pengguna dengan Pencarian yang terletak di server terpisah :
    • Prosesor inti quad, RAM 16 GB (minimum)
    • Hard drive dengan kecepatan tinggi yang didukung oleh penyimpanan Solid State Drive (SSD)
  • Lebih dari 1.000 pengguna dengan fungsi pencarian yang terletak di server terpisah :
    • Prosesor inti quad, RAM 16 GB (minimum)
    • Hard drive cepat yang berbasis pada SSD atau SAN
  • Azure DevOps Server dengan beberapa tingkat aplikasi (ATs):
    • Menginstal Pencarian di server terpisah
  • Penggunaan CPU Azure DevOps Server lebih dari 50% sebelum instalasi Search:
    • Menginstal Pencarian di server terpisah

persyaratan ruang Disk:

Jumlah ruang disk yang digunakan oleh Pencarian terutama tergantung pada jenis dan ukuran file yang diindeks. Untuk pencarian kode, sering kali repositori bisa besar dan memiliki file kode yang berbeda dalam kontrol versi. Persyaratan ruang disk bisa signifikan. Alokasikan hingga 150% dari ukuran semua repositori yang akan diindeks. Anda dapat mengecualikan folder dari repositori Anda untuk pengindeksan untuk mengoptimalkan ruang disk yang digunakan oleh pencarian.

Dependensi perangkat lunak

Pencarian memiliki dependensi berikut, yang diinstal proses konfigurasi secara otomatis:

Nota

  • Administrator sistem atau server harus memastikan bahwa Server JRE dipertahankan dan diperbarui sesuai dengan rekomendasi penyedia perangkat lunak. Lihat juga catatan penginstalan Java berikut ini.
  • Secara teratur memeriksa pembaruan.

Catatan penginstalan Java

  • Jika wizard Konfigurasi pencarian tidak mendeteksi penginstalan yang berfungsi dari Java Runtime Environment (JRE), wizard ini menyediakan opsi untuk mengunduh dan menginstal versi terbaru yang didukung. Konektivitas internet diperlukan untuk mengunduh. Jika server target tidak memiliki konektivitas Internet, Anda harus mengunduh dan menginstal JRE secara manual sebelum mencoba menginstal Pencarian.

  • Azure DevOps Server menggunakan Elasticsearch versi 7.17.0, yang memiliki versi OpenJDK yang dibundel.

  • Selama penginstalan, wizard mengatur variabel lingkungan JAVA_HOME untuk menunjuk ke folder penginstalan JRE. Wizard konfigurasi mungkin tidak mendeteksi penginstalan JRE yang ada jika tidak dikonfigurasi dengan benar, atau jika pengaturan JAVA_HOME menunjuk ke versi yang lebih lama daripada yang diperlukan oleh Pencarian.

    Nota

    Hindari menginstal Elasticsearch pada komputer tempat sumber daya dibagikan, terutama di lingkungan perusahaan besar dengan beberapa tingkatan aplikasi. Siapkan Elasticsearch pada komputer khusus terpisah sehingga lingkungan JAVA tidak dibagikan di seluruh komputer untuk tujuan lain.

  • Jika ada versi JRE yang lebih lama dari minimum yang diperlukan oleh Pencarian, dan variabel JAVA_HOME diatur ke versi tersebut, instal Pencarian di server terpisah.

  • Jika ada versi Server JRE yang sama dengan atau lebih baru dari minimum yang diperlukan oleh Pencarian dan wizard konfigurasi tidak mengenalinya, pastikan variabel JAVA_HOME tidak disetel. Kemudian, jalankan ulang wizard konfigurasi (& "C:\Program Files\Azure DevOps Server XXX\Search\ES\vX.XX\bin\elasticsearch-service.bat" manager) dan pilih versi dengan mengatur jalur untuk Java Virtual Machine.

  • Jika Anda tidak dapat menginstal versi Java yang diperlukan oleh Pencarian karena dependensi lain, Anda bisa melakukan tugas berikut:

    • Instal Azure DevOps Server dengan ekstensi Pencarian di server yang belum menginstal Java. Opsi ini tidak disarankan untuk lebih dari 250 pengguna atau pemanfaatan CPU yang lebih besar dari 50% atau beberapa ATs.
    • Instal Pencarian dan JRE di server terpisah dari Azure DevOps Server.

Ketersediaan fitur

  • Pencarian Item Kerja dan Wiki adalah ekstensi bawaan yang diinstal proses konfigurasi secara default.
  • Pencarian Kode adalah fitur pilihan. Anda dapat menginstal Pencarian Kode nanti dari Galeri Lokal. Buka Galeri Lokal (http://{server}/_gallery) sebagai administrator. Pengguna non-administratif juga dapat meminta ekstensi untuk Azure DevOps Server. Untuk informasi selengkapnya, lihat Menginstal ekstensi.

Konfigurasikan layanan Pencarian dengan menggunakan halaman khusus di Wizard Konfigurasi Server saat Anda menginstal Azure DevOps Server. Anda juga dapat membatalkan konfigurasi Pencarian dengan menjalankan Panduan Konfigurasi Server lagi atau dengan meluncurkan Panduan Konfigurasi Pencarian.

Pertimbangan konfigurasi

Pertimbangkan informasi berikut saat Anda mengonfigurasi Pencarian:

  • Pencarian Item Kerja dan Wiki diaktifkan secara default saat Anda mengonfigurasi Pencarian. Anda nantinya dapat menghapus ekstensi ini jika perlu dari halaman Kelola Ekstensi di Azure DevOps Server.
  • Anda harus menginstal ekstensi Pencarian Kode untuk setiap koleksi Azure DevOps Server tempat Anda ingin menggunakannya. Saat awalnya mengonfigurasi Pencarian, Anda dapat mengatur kotak centang ke Menginstal ekstensi Pencarian Kode secara otomatis untuk Koleksi Proyek yang sudah ada dan baru untuk mengotomatiskan proses ini.
  • Jika Anda tidak mengatur kotak centang untuk menginstal ekstensi Pencarian Kode untuk semua koleksi proyek Anda, PCA Anda dapat menginstalnya dari Galeri Lokal. Pastikan Anda masuk ke Galeri Lokal (http://{Server}/_gallery) dari halaman portal Azure DevOps Server Anda. Untuk informasi selengkapnya, lihat Menginstal ekstensi.
  • Biasanya diperlukan waktu kurang dari satu jam bagi Pencarian untuk mengindeks koleksi. Namun, diperlukan waktu hingga 12 jam berdasarkan ukuran dan jumlah file kode, item kerja, atau halaman wiki. Jika Anda tidak mendapatkan hasil setelah periode ini, memeriksa status pengindeksan.

Gunakan hard drive kedua dan server jarak jauh

  • Untuk performa maksimum, folder indeks pencarian harus berada di hard drive cepat terpisah dan didukung oleh penyimpanan cepat, seperti solid-state drive (SSD) atau Storage Area Network (SAN). Alokasikan hingga 150% dari ukuran semua repositori yang akan diindeks, yang merupakan skenario terburuk. Ruang yang digunakan aktual tergantung pada jumlah dan jenis file kode, dan jumlah item kerja dan halaman wiki dalam koleksi tersebut.
    • Kecuali ditentukan, layanan pengindeksan dan mesin Elasticsearch menggunakan akun layanan jaringan selama penginstalan untuk membuat dan mengakses file indeks. Jika Anda memilih akun lain, akun tersebut harus memiliki izin Masuk sebagai layanan.
    • Batasi izin untuk disk indeks dan folder untuk melindungi indeks dari modifikasi atau penghapusan yang tidak disengaja atau berbahaya. Konfigurasikan pengaturan keamanan yang sesuai untuk layanan.
  • Saat Anda mengonfigurasi kotak pencarian untuk server dengan beberapa AT, pasanglah di server terpisah. Setelah Anda menginstal Pencarian di server jarak jauh, gunakan Wizard Konfigurasi di salah satu server AT untuk menautkan instans Pencarian jarak jauh dengan instans Azure DevOps Server Anda. Saat Anda membatalkan konfigurasi Pencarian, Anda harus menggunakan Wizard Konfigurasi pada server AT yang sama tempat konfigurasi awalnya dilakukan.

Tingkatkan server Anda

  • Jika Anda melakukan peningkatan praproduksi di server tempat Pencarian sudah dikonfigurasi, Anda harus sepenuhnya mengonfigurasi ulang Pencarian lagi untuk menghindari kerusakan instans produksi Anda. Tidak ada opsi untuk mengonfigurasi Pencarian sebagai bagian dari peningkatan praproduksi. Sebagai gantinya, konfigurasikan setelah peningkatan praproduksi selesai. Anda dapat menghapus centang Menginstal dan mengonfigurasi Pencarian Kode secara otomatis untuk semua koleksi yang ada dan baru selama konfigurasi. Sebagai gantinya, instal ekstensi Pencarian hanya untuk satu atau dua koleksi Anda setelah konfigurasi selesai.
  • Jika Anda melakukan peningkatan versi produksi di server tempat Pencarian dikonfigurasi dan Anda ingin menyimpannya, centang kotak di samping Instal dan Konfigurasi Pencarian. Wizard mendeteksi instans Pencarian yang ada dan secara otomatis memilih Gunakan instans Pencarian yang ada, dan mengisi URL layanan Pencarian Anda yang sekarang. Gunakan opsi Instal instans Pencarian baru hanya jika Anda ingin menyiapkan instans baru Pencarian di server yang sama. Menyiapkan instans baru menyebabkan semua kode, item kerja, dan wiki Anda diindeks lagi, yang - tergantung pada ukuran koleksi - dapat memakan waktu. Selama pengindeksan, pengguna mungkin melihat hasil pencarian parsial.
  • Jika Anda memutakhirkan server Anda keperangkat keras baru, Anda memiliki dua opsi berikut. Pilih dari opsi ini, tergantung pada bagaimana Pencarian sebelumnya dikonfigurasi:
    • Jika Pencarian berada di server terpisah dari Azure DevOps Server, Anda harus memilih Instal dan Konfigurasi Pencarian di Wizard Konfigurasi Server, lalu pilih Gunakan instans Pencarian yang ada dan berikan URL instans Pencarian yang ada untuk menyelesaikan konfigurasi Pencarian.
    • Jika Pencarian dikonfigurasi bersama instans Azure DevOps Server Anda di server lama, Anda harus memilih Instal dan Konfigurasi Pencarian di Wizard Konfigurasi Server. Kemudian, pilih Instal instans Pencarian baru lagi di server baru jika Anda ingin terus menjalankan Pencarian dan Azure DevOps Server bersama-sama. Semua indeks Pencarian untuk semua koleksi dibuat ulang yang, tergantung pada ukuran setiap koleksi, mungkin memakan waktu.
  • Jika Anda melepaskan koleksi dari satu instans Azure DevOps Server untuk melampirkannya ke instans lain, selesaikan langkah-langkah berikut:
    1. Lepaskan kumpulan dari instance Azure DevOps Server sumber.
    2. Konfigurasikan Pencarian pada instans Azure DevOps Server target (jika belum dilakukan).
    3. Lampirkan koleksi ke server Azure DevOps target.
    4. Hapus instalan ekstensi Pencarian Anda, seperti Kode, Item kerja, atau Wiki untuk koleksi dari Galeri Lokal dalam Server Azure DevOps Anda.
    5. Instal ekstensi Pencarian untuk koleksi dari Galeri Lokal dengan menelusurinya dari instans Azure DevOps Server target Anda.

Menginstal atau memperbarui Pencarian di server terpisah

Untuk menginstal atau memperbarui Pencarian di server terpisah atau jarak jauh, biasanya ketika ada lebih dari 250 pengguna, selesaikan langkah-langkah berikut:

  1. Saat Anda menginstal Azure DevOps Server di server utama, centang kotak Instal dan konfigurasikan Pencarian. di halaman Pencarian Wizard Konfigurasi Server.
  2. Pilih opsi untuk Gunakan layanan Pencarian yang ada.
  3. Gunakan tautan paket layanan Pencarian yang disediakan dalam wizard untuk mengakses sekumpulan file penginstal Pencarian di komputer lokal. Kemudian, salin file-file ini ke server jarak jauh.
  4. Ikuti instruksi dalam file Readme.txt, yang terletak di kumpulan file penginstal, untuk menginstal atau memperbarui layanan Pencarian di server jarak jauh.
  5. Setelah penginstalan selesai, salin URL server Pencarian yang dihasilkan ke bidang URL Pencarian dari wizard konfigurasi yang berjalan pada instans Azure DevOps Server.
  6. Ketika kedua penginstalan selesai, konfigurasikan pengaturan keamanan yang sesuai untuk kedua server.

Layanan Pencarian menggunakan versi Elasticsearchyang dimodifikasi. Untuk bagian lainnya, istilah "Search" dan "Elasticsearch" digunakan secara bergantian. Administrator harus memberikan kredensial apakah layanan Pencarian berada di komputer yang sama dengan Azure DevOps Server, atau pada komputer terpisah. Tindakan ini adalah bagian dari konfigurasi fitur Pencarian melalui server atau wizard Konfigurasi Pencarian. Kredensial ini baru dan tidak terkait dengan kredensial akun atau server yang sudah ada sebelumnya. Gunakan kredensial ini untuk menyiapkan dan menyambungkan ke layanan Pencarian. Set kredensial baru ini memungkinkan autentikasi dasar di layanan pencarian.

Cuplikan layar memperlihatkan kredensial pencarian.

Jika layanan Pencarian berada di komputer yang sama dengan Azure DevOps Server, administrator dapat memberikan serangkaian kredensial baru di Wizard Konfigurasi untuk menyiapkan layanan Pencarian, jika diinginkan. Namun, jika layanan Pencarian berada di komputer jarak jauh, administrator harus terlebih dahulu memberikan kredensial baru ke skrip penyiapan layanan Pencarian.

Nota

  • Panjang nilai kredensial harus antara 8 dan 64 karakter.
  • Info masuk pencarian hanya mengautentikasi pengguna dan memastikan bahwa pengguna yang tidak diautentikasi tidak dapat mengakses titik akhir Elasticsearch. Namun, Elasticsearch tidak mendukung HTTPS sehingga kredensial ini dikirim melalui jaringan sebagai string yang dikodekan Base64. Jika ada kemungkinan akses perantara ke permintaan, konfigurasikan pengaturan keamanan yang sesuai berdasarkan persyaratan keamanan dan kepatuhan perusahaan Anda.
  • Bertujuan untuk membatasi akses ke pencarian dan pengindeksan ke pengguna atau grup pengguna tertentu menggunakan enkripsi melalui IPSec, yang dijelaskan sebagai berikut.

Pertimbangkan teknik berikut untuk menggunakan IPSec untuk mengamankan Elasticsearch di server Windows:

  • Mengonfigurasi keamanan hanya dengan autentikasi:

  • Mengonfigurasi keamanan dengan autentikasi, perlindungan integritas, dan enkripsi:

    • Memastikan enkripsi dan perlindungan integritas diterapkan bersama dengan autentikasi. Ini memerlukan aturan sisi klien dan sisi layanan (aturan firewall di server yang menjalankan Elasticsearch dan semua server Tingkat Aplikasi Azure DevOps Server)
    • Prasyarat: Azure DevOps Server harus dikonfigurasi dengan akun domain
    • Ikuti langkah-langkah dalam Mengisolasi Server dengan Memerlukan Enkripsi dan Keanggotaan Grup

Untuk peningkatan praproduksi, peningkatan produksi, migrasi perangkat keras baru, kloning, atau operasi pemeliharaan lainnya, Panduan Konfigurasi Server membatalkan konfigurasi Pencarian. Namun, Anda dapat dengan mudah mengonfigurasi ulang setelah operasi pemeliharaan server selesai.

Anda mungkin mengalami kasus di mana Anda tidak ingin lagi menggunakan Pencarian atau Anda ingin melakukan penginstalan baru dan bersih. Operasi ini memerlukan beberapa langkah, tergantung pada apakah Pencarian dikonfigurasi pada server yang sama dengan Azure DevOps Server, atau di server terpisah .

Membatalkan konfigurasi Pencarian pada komputer yang dikonfigurasi sebagai Azure DevOps Server Anda

  1. Hapus instalan ekstensi Pencarian untuk setiap koleksi. Buka halaman Kelola Ekstensi dari setiap koleksi di instans Azure DevOps Server Anda:

    Cuplikan layar memeriksa apakah ekstensi diinstal.

  2. Hapus fitur Pencarian:

    1. Buka Konsol Administrasi Server Azure DevOps.
    2. Pilih nama server.
    3. Pilih Hapus Fitur.
    4. Pilih layanan Pencarian, lalu pilih Hapus.
  3. Hapus layanan Elasticsearch:

    1. Buka Command Prompt sebagai administrator.
    2. Ubah direktori, cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-5.4.1\bin".
    3. Hapus layanan, "elasticsearch-service.bat remove".
  4. Hapus data Pencarian:

    • Hapus konten lokasi yang dijelaskan oleh variabel lingkungan, SEARCH_ES_INDEX_PATH.
  5. Hapus variabel lingkungan, "SEARCH_ES_INDEX_PATH".

Batal mengonfigurasi Pencarian di server terpisah

Selesaikan langkah-langkah berikut untuk membatalkan konfigurasi Pencarian, seperti untuk Kode, Item kerja, atau Wiki, untuk setiap koleksi.

  1. Buka halaman Kelola Ekstensi untuk setiap koleksi di instans Azure DevOps Server Anda.

    Cuplikan layar memeriksa apakah ekstensi diinstal.

  2. Hapus fitur Pencarian:

    1. Buka dialog Hapus Fitur, Konsol Administrasi.
    2. Di panel kiri, pilih nama Server Azure DevOps.
    3. Di panel kanan, pilih Hapus Fitur.
    4. Dalam dialog Hapus Fitur, pilih layanan Pencarian, lalu pilih Hapus.
  3. Hapus layanan dan data Elasticsearch.

    1. Buka PowerShell sebagai administrator.
    2. Buka folder Konfigurasikan Search.ps1, bersama dengan file lainnya yang diperlukan untuk penginstalan pencarian jarak jauh.
    3. Jalankan skrip lagi dengan opsi hapus: "ConfigureTFSSearch.ps1 -remove".

Pencarian Azure DevOps Server memiliki batasan berikut:

  • Anda perlu mengindeks ulang semua koleksi Anda jika Anda melakukan operasi pemulihan bencana (DR) dan memindahkan server Anda kembali ke rekam jepret sebelumnya dari database SQL Anda.
  • Pencarian tidak dapat diperluas, tetapi Anda dapat mengirimkan permintaan fitur baru di Komunitas Pengembang.