Arama'yı yükleme ve yapılandırma

Azure DevOps Server | Azure DevOps Server 2022

Bu makalede, kendi donanımınızda çalışan Azure DevOps Server için güvenli bir arama altyapısını yükleme, yapılandırma ve kaldırma adımları gösterilmektedir. Daha fazla bilgi için aşağıdaki makalelere bakın:

Önkoşullar

Kategori Gereksinimler
Permissions Kuruluş için Proje Koleksiyonu Yöneticileri grubunun üyesi. Yönetici olmayan kullanıcılar da uzantıyı PCA'larına ekleme isteğinde bulunabilir.
Kurulum Daha fazla bilgi için bkz. Azure DevOps Server'ı Yükleme ve Yapılandırma ve Gereksinimler ve Uyumluluk.

Donanım önerileri

Arama, Azure DevOps Server çalıştıran herhangi bir fiziksel sunucuda veya sanal makinede çalışır. Arama'yı aynı sunucuda veya farklı bir sunucuda ayarlayabilirsiniz. Aynı sunucuyu kullanıyorsanız CPU kullanımını göz önünde bulundurun.

Bahşiş

Üretim ortamları için ayrı bir sunucuda Arama'yı yapılandırın.

Çok kullanıcılı senaryolarda kabul edilebilir performans için aşağıdaki önerileri göz önünde bulundurun:

  • Sunucu üzerinde Arama özelliğini kullanan 250'den az kullanıcı (genellikle gösterim ve deneme amaçlı kullanılır):
    • Dört çekirdekli işlemci, 16 GB (minimum) RAM
    • CPU Kullanımı faktörü 50%'den az
    • Katı Hal Sürücüsü (SSD) depolama destekli hızlı sabit sürücü
  • 500'den az kullanıcı, Arama'nın ayrı bir sunucuda bulunduğu bir durumda :
    • Çift çekirdekli işlemci, 8 GB (minimum) RAM
    • Katı Hal Sürücüsü (SSD) depolama destekli hızlı sabit sürücü
  • Ayrı bir sunucuda bulunan Arama; 1.000'den az kullanıcı:
    • Dört çekirdekli işlemci, 16 GB (minimum) RAM
    • Katı Hal Sürücüsü (SSD) depolama destekli hızlı sabit sürücü
  • Ayrı bir sunucuda bulunan Arama ile 1.000'den fazla kullanıcı:
    • Dört çekirdekli işlemci, 16 GB (minimum) RAM
    • Katı Hal Sürücüsü (SSD) veya Depolama Alanı Ağı (SAN) depolaması ile desteklenen hızlı sabit sürücü
  • Birden çok uygulama katmanına (AT) sahip Azure DevOps Server:
    • Arama'yı ayrı bir sunucuya yükleyin.
  • Arama kurulumu öncesinde Azure DevOps Server CPU kullanımı 50%'ın üzerinde:
    • Arama'yı ayrı bir sunucuya yükleyin.

Disk alanı gereksinimi:

Arama tarafından kullanılan disk alanı miktarı temel olarak dizine alınan dosyaların türüne ve boyutuna bağlıdır. Kod araması için depoların çoğu zaman büyük olabilir ve sürüm denetiminde farklı kod dosyaları olabilir. Disk alanı gereksinimi önemli olabilir. Tüm depoların boyutunun dizine eklenmesi için en fazla 150% ayırın. Aramanın kullandığı disk alanını optimize etmek için, klasörleri dizinlemeden hariç tutarak depolarınızın dışında bırakabilirsiniz.

Yazılım bağımlılıkları

Arama, yapılandırma işleminin otomatik olarak yüklendiği aşağıdaki bağımlılıklara sahiptir:

Not

  • Sistem veya sunucu yöneticisi, yazılım sağlayıcısının önerileri doğrultusunda Sunucu JRE'sinin korunup güncelleştirildiğinden emin olmalıdır. Ayrıca aşağıda verilen Java yükleme notlarına bakın.
  • düzenli olarak güncelleştirmeleri denetleyin.

Java yükleme notları

  • Arama yapılandırma sihirbazı java çalışma zamanı ortamının (JRE) çalışan yüklemesini algılamazsa desteklenen en son sürümü indirme ve yükleme seçeneği sağlar. İndirmek için İnternet bağlantısı gereklidir. Hedef sunucunun İnternet bağlantısı yoksa, Arama'yı yüklemeyi denemeden önce el ile bir JRE indirip yüklemeniz gerekir.

  • Azure DevOps Server, OpenJDK'nin paketlenmiş sürümüne sahip Elasticsearch sürüm 7.17.0'ı kullanır.

  • Yükleme sırasında sihirbaz, JAVA_HOME ortam değişkenini JRE yükleme klasörüne işaret etmek üzere ayarlar. Yapılandırma sihirbazı, doğru yapılandırılmadıysa veya JAVA_HOME ayarı Arama'nın gerektirdiğinden daha eski bir sürüme işaret ederse var olan bir JRE yüklemesini algılamayabilir.

    Not

    Özellikle birden çok uygulama katmanına sahip büyük bir kurumsal ortamda kaynakların paylaşıldığı bir makineye Elasticsearch yüklemekten kaçının. JAVA ortamının başka amaçlarla makineler arasında paylaşılmaması için ayrı bir ayrılmış makinede Elasticsearch'i ayarlayın.

  • JrE'nin Search için gereken en düşük sürümden önceki bir sürümü varsa ve JAVA_HOME değişkeni bu sürüme ayarlandıysa, Search'ü ayrı bir sunucuya yükleyin.

  • Sunucu JRE'sinin Search için gereken en düşük değere eşit veya daha sonraki bir sürümü varsa ve yapılandırma sihirbazı bunu tanımıyorsa , JAVA_HOME değişkeninin ayarlanmadığından emin olun. Ardından yapılandırma sihirbazını () yeniden çalıştırın ve java sanal makinesiyolunu ayarlayarak sürümü seçin.

  • Diğer bağımlılıklar nedeniyle Search'ün gerektirdiği Java sürümünü yükleyemiyorsanız, aşağıdaki görevleri gerçekleştirebilirsiniz:

    • Java yüklü olmayan bir sunucuya Search uzantısıyla Azure DevOps Server'ı yükleyin. Bu seçenek 250'den fazla kullanıcı veya 50% veya birden çok AT'den fazla CPU kullanımı için önerilmez.
    • Search ve JRE'yi Azure DevOps Server'dan ayrı bir sunucuya yükleyin.

Özellik kullanılabilirliği

  • İş Öğesi ve Wiki araması, yapılandırma işleminin varsayılan olarak yüklediği yerleşik uzantılardır.
  • Kod Arama isteğe bağlı bir özelliktir. Kod Arama'yı daha sonra Yerel Galeri'den yükleyebilirsiniz. Yönetici olarak Yerel Galeriye (http://{server}/_gallery) gidin. Yönetici olmayan kullanıcılar, Azure DevOps Server uzantısını da isteyebilir. Daha fazla bilgi için Bir uzantı yüklemebölümüne bakınız.

Azure DevOps Server'ı yüklerken Sunucu Yapılandırma Sihirbazı'ndaki ayrılmış sayfaları kullanarak Arama hizmetini yapılandırın. Ayrıca, Sunucu Yapılandırma Sihirbazı'nı yeniden çalıştırarak veya Arama Yapılandırma Sihirbazı'nı başlatarak Arama'yı yapılandırmayı kaldırabilirsiniz .

Yapılandırmayla ilgili dikkat edilmesi gerekenler

Arama'yı yapılandırırken aşağıdaki bilgileri göz önünde bulundurun:

  • Arama'yı yapılandırdığınızda hem İş Öğesi hem de Wiki araması varsayılan olarak etkinleştirilir. Gerekirse bu uzantıları daha sonra Azure DevOps Server'ın Uzantıları Yönet sayfasından kaldırabilirsiniz.
  • Kullanmak istediğiniz her Azure DevOps Server koleksiyonu için Kod Arama uzantısını yüklemeniz gerekir. Arama'yı ilk kez yapılandırdığınızda, bu işlemi otomatikleştirmek için mevcut ve yeni Proje Koleksiyonları için Kod Arama uzantısını otomatik olarak yükle onay kutusunu ayarlayabilirsiniz.
  • Tüm proje koleksiyonlarınızın Kod Arama uzantısını yüklemek için onay kutusunu ayarlamazsanız, PCA'nız yerel galeriden yükleyebilir. Azure DevOps Server portal sayfanızdan Yerel Galeri'ye (http://{Server}/_gallery) gittiğinizden emin olun. Daha fazla bilgi için Bir uzantı yüklemebölümüne bakınız.
  • Arama'nın bir koleksiyonu dizine alması genellikle bir saatten az sürer. Ancak kod dosyalarının, iş öğelerinin veya wiki sayfalarının boyutuna ve sayısına bağlı olarak 12 saate kadar sürebilir. Bu dönemden sonra sonuç alamazsanız dizin oluşturma durumunu denetleyin.

İkinci bir sabit sürücü ve uzak sunucu kullanma

  • En yüksek performans için arama dizini klasörü ayrı bir hızlı sabit sürücüde olmalı ve katı hal sürücüsü (SSD) veya Depolama Alanı Ağı (SAN) gibi hızlı depolama ile yedeklenmelidir. Dizine alınacak tüm depoların boyutunun en fazla 150% ayırın. Bu en kötü durum senaryosudur. Gerçek tüketilen alan, kod dosyalarının miktarına ve türüne ve bu koleksiyondaki iş öğelerinin ve wiki sayfalarının sayısına bağlıdır.
    • Belirtilmediği sürece, dizin oluşturma hizmeti ve Elasticsearch altyapısı, dizin dosyalarını oluşturmak ve bu dosyalara erişmek için yükleme sırasında ağ hizmet hesabını kullanır. Farklı bir hesap seçerseniz, onun Hizmet Olarak Oturum Açma izni olmalıdır.
    • Dizini yanlışlıkla veya kötü amaçlı değişiklik veya silmeye karşı korumak için dizin diski ve klasörü izinlerini kısıtlayın. Hizmet için uygun güvenlik ayarlarını yapılandırın.
  • Birden çok AT'ye sahip bir sunucuda Arama'yı yapılandırırken, ayrı bir sunucuya yükleyin. Uzak sunucuya Search'ü yükledikten sonra, uzak Arama örneğini Azure DevOps Server örneğine bağlamak için AT sunucularından herhangi birinde Yapılandırma Sihirbazı'nı kullanın. Arama'yı yapılandırmayı kaldırdığınızda yapılandırmanın ilk gerçekleştirildiği AT sunucusunda Yapılandırma Sihirbazı'nı kullanmanız gerekir.

Sunucunuzu yükseltme

  • Arama'nın zaten yapılandırılmış olduğu bir sunucuda üretim öncesi yükseltmesi yapıyorsanız, üretim örneğinizin bozulmasını önlemek için Arama'yı yeniden yeniden yapılandırmanız gerekir. Ön üretim yükseltmesinin bir parçası olarak Arama'yı yapılandırma seçeneği yoktur. Bunun yerine, üretim öncesi yükseltme tamamlandıktan sonra yapılandırın. Yapılandırma sırasında, tüm mevcut ve yeni koleksiyonlar için Kod Arama'yı otomatik olarak yükleme ve yapılandırma seçeneğinin işaretini kaldırabilirsiniz. Bunun yerine, yapılandırma tamamlandıktan sonra koleksiyonlarınızdan yalnızca bir veya iki tanesi için Arama uzantısını yükleyin.
  • Arama'nın yapılandırıldığı bir sunucuda üretim yükseltmesi yapıyorsanız ve Arama özelliğini korumak istiyorsanız,Arama'yı Yükle ve Yapılandır seçeneğinin yanındaki kutuyu işaretleyin. Sihirbaz, mevcut Arama örneğinizi algılar, Var olan Arama örneğini kullan otomatik olarak seçilir ve geçerli Arama hizmeti URL'niz önceden doldurulur. Yeni Arama örneği yükle seçeneğini yalnızca aynı sunucuda yeni bir Arama örneği ayarlamak istiyorsanız kullanın. Yeni bir örnek ayarlamak, tüm kodunuzun, iş öğelerinizin ve wiki'nizin yeniden dizine alınmasına neden olur ve koleksiyonların boyutuna bağlı olarak bu işlem biraz zaman alabilir. Dizin oluşturma sırasında kullanıcılar kısmi arama sonuçları görebilir.
  • Sunucunuzu yeni donanımagüncellemeyi düşünüyorsanız, aşağıdaki iki seçeneğiniz vardır. Arama'nın daha önce nasıl yapılandırıldığına bağlı olarak bu seçeneklerden birini belirleyin:
    • Arama, Azure DevOps Server'dan ayrı bir sunucudaysa, Sunucu Yapılandırma Sihirbazı'nda Yükle ve Aramayı Yapılandır'ı seçip Var olan bir Arama örneğini kullan'ı seçmeniz ve Arama yapılandırmasını tamamlamak için mevcut Arama örneğinizin URL'sini sağlamanız gerekir.
    • Arama eski sunucudaki Azure DevOps Server örneğiniz ile birlikte yapılandırıldıysa, Sunucu Yapılandırma Sihirbazı'nda Arama Yükle ve Yapılandır seçmeniz gerekir. Ardından Search ve Azure DevOps Server'ı birlikte barındırmaya devam etmek istiyorsanız Yeni bir Arama örneği yükle yeni sunucuya yeniden yükleyin'i seçin. Tüm koleksiyonlar için tüm Arama dizinleri yeniden oluşturulur ve her koleksiyonun boyutuna bağlı olarak biraz zaman alabilir.
  • Bir koleksiyonu başka bir örneğe eklemek için bir Azure DevOps Server örneğinden ayırıyorsanız aşağıdaki adımları tamamlayın:
    1. Koleksiyonu kaynak Azure DevOps Server örneğinden ayırma.
    2. Hedef Azure DevOps Server örneğinde Arama'yı yapılandırın (henüz yapılmadıysa).
    3. Koleksiyonu hedef Azure DevOps Sunucusuna ekleyin.
    4. Koleksiyon için Kod, İş öğesi veya Wiki gibi Arama uzantılarınızı Azure DevOps Sunucunuzdaki Yerel Galeri'den kaldırın.
    5. Hedef Azure DevOps Server örneğinizden Yerel Galeri'ye göz atarak koleksiyon için Arama uzantısını yükleyin.

Arama'yı ayrı bir sunucuya yükleme veya güncelleştirme

Arama'yı ayrı veya uzak bir sunucuya yüklemek veya güncelleştirmek için, genellikle 250'den fazla kullanıcı olduğunda aşağıdaki adımları tamamlayın:

  1. Azure DevOps Server'ı birincil sunucuya yüklerken Arama'yı yükle ve yapılandır onay kutusunu işaretleyin. Sunucu Yapılandırma Sihirbazı'nın Arama sayfasında.
  2. Var olan bir Arama hizmetikullan seçeneğini belirleyin.
  3. Yerel makinede bir dizi Arama yükleyicisi dosyasına ulaşmak için kurulum sihirbazında sağlanan Search hizmet paketi bağlantısını kullanın. Ardından bu dosyaları uzak sunucuya kopyalayın.
  4. Uzak sunucuda Arama hizmetini yüklemek veya güncelleştirmek için yükleyici dosyaları kümesinde bulunan Readme.txt dosyasındaki yönergeleri izleyin.
  5. Yükleme tamamlandıktan sonra, sonuçta elde edilen Arama sunucusu URL'sini Azure DevOps Server örneğinde çalışan yapılandırma sihirbazının Arama URL'si alanına kopyalayın.
  6. Her iki yükleme de tamamlandığında, her iki sunucu için de uygun güvenlik ayarlarını yapılandırın.

Search hizmeti, Elasticsearch'nin değiştirilmiş bir sürümünü kullanır. Bu bölümün geri kalanında "Arama" ve "Elasticsearch" terimleri birbirinin yerine kullanılır. Arama hizmetinin Azure DevOps Server ile aynı makinede veya ayrı bir makinede olması fark etmeksizin yöneticilerin kimlik bilgilerini sağlaması gerekir. Bu eylem, Arama özelliğini sunucu veya Arama yapılandırma sihirbazı aracılığıyla yapılandırmanın bir parçasıdır. Bu kimlik bilgileri yenidir ve önceden var olan hesap veya sunucu kimlik bilgileriyle ilgili değildir. Arama hizmetini ayarlamak ve bu hizmete bağlanmak için bu kimlik bilgilerini kullanın. Bu yeni kimlik bilgileri kümeleri, arama hizmetinde temel kimlik doğrulamasını etkinleştirir.

Arama kimlik bilgilerini gösteren ekran görüntüsü.

Arama hizmeti Azure DevOps Server ile aynı makinedeyse, yöneticiler gerekirse Arama hizmetini ayarlamak için Yapılandırma Sihirbazı'nda yeni bir kimlik bilgileri kümesi sağlayabilir. Ancak, Arama hizmeti uzak bir makinedeyse, yöneticilerin önce Arama hizmeti kurulum betiğine yeni kimlik bilgilerini sağlaması gerekir.

Not

  • Kimlik bilgisi değerlerinin her ikisi de 8 ile 64 karakter uzunluğunda olmalıdır.
  • Arama kimlik bilgileri yalnızca kullanıcıların kimliğini doğrular ve kimliği doğrulanmamış kullanıcıların Elasticsearch uç noktasına erişemediğinden emin olun. Ancak Elasticsearch HTTPS'yi desteklemediğinden bu kimlik bilgileri ağ üzerinden Base64 kodlanmış dizeler olarak gönderilir. İstek için ara erişim olasılığı varsa, kurumsal güvenlik ve uyumluluk gereksinimlerinize göre uygun güvenlik ayarlarını yapılandırın.
  • IpSec aracılığıyla şifreleme kullanarak belirli kullanıcılar veya kullanıcı grupları için arama ve dizin oluşturma erişimini sınırlamayı hedefleyin.

Bir Windows sunucusunda Elasticsearch'in güvenliğini sağlamak için IPSec kullanmak için aşağıdaki teknikleri göz önünde bulundurun:

  • Yalnızca kimlik doğrulamasıyla güvenliği yapılandırma:

    • Elasticsearch bağlantı noktasına yalnızca yetkili kullanıcıların erişebilmesini sağlar. Yalnızca hizmet tarafı kuralları gerektirir (yalnızca Elasticsearch çalıştıran sunucuda güvenlik duvarı kuralları)
    • Önkoşul: Azure DevOps Server bir etki alanı hesabıyla yapılandırılmalıdır
    • IPsec korumalı Ağ Trafiğine İzin Veren Güvenlik Duvarı Kuralları Oluşturma adımlarını izleyin
  • Kimlik doğrulaması, bütünlük koruması ve şifreleme ile güvenliği yapılandırma:

    • Kimlik doğrulamasıyla birlikte şifreleme ve bütünlük korumasının uygulanmasını sağlar. Hem istemci tarafı hem de hizmet tarafı kuralları (Elasticsearch çalıştıran sunucuda güvenlik duvarı kuralları ve tüm Azure DevOps Server Uygulama Katmanı sunucuları) gerektirir
    • Önkoşul: Azure DevOps Server bir etki alanı hesabıyla yapılandırılmalıdır
    • Şifreleme ve Grup Üyeliği gerektirerek Bir Sunucuyu Yalıtma adımlarını izleyin

Ön üretim yükseltmesi, üretim yükseltmesi, yeni donanım geçişi, kopyalama veya diğer bakım işlemleri için Sunucu Yapılandırma Sihirbazı Arama'yı yapılandırmaz. Ancak, sunucu bakım işlemi tamamlandıktan sonra kolayca yeniden yapılandırabilirsiniz.

Artık Arama'yı kullanmak istemediğiniz veya yeni ve temiz bir yükleme yapmak istediğiniz durumlarla karşılaşabilirsiniz. Bu işlem, Arama'nın Azure DevOps Server ile aynı sunucu veyaayrı bir sunucuda yapılandırılması durumuna bağlı olarak birden çok adım gerektirir.

Makinenizdeki Azure DevOps Sunucusu olarak yapılandırılan Arama'yı kaldırın.

  1. Her koleksiyon için Search uzantısını kaldırın. Azure DevOps Server örneğinizdeki her koleksiyonun Uzantıları Yönet sayfasına gidin:

    Uzantının yüklü olup olmadığını denetleme işleminin ekran görüntüsü.

  2. Arama özelliğini kaldırın:

    1. Azure DevOps Server Yönetim Konsolu'nu açın.
    2. Sunucunun adını seçin.
    3. özelliğini seçin, ardından'i kaldırın.
    4. Arama hizmeti'niseçin ve ardından Kaldır'ıseçin.
  3. Elasticsearch hizmetini kaldırın:

    1. yönetici olarak Komut İstemi'ni açın.
    2. Dizini değiştirin, cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-5.4.1\bin".
    3. hizmeti kaldırın, "elasticsearch-service.bat remove".
  4. Arama verilerini kaldırma:

    • ortam değişkeni tarafından açıklanan konumun içeriğini silin SEARCH_ES_INDEX_PATH.
  5. ortam değişkenini silin "SEARCH_ES_INDEX_PATH".

Ayrı bir sunucuda Arama'yı yapılandırmayı kaldırma

Her koleksiyon için Arama'yı, örneğin Kod, İş öğesi veya Wiki gibi bölümlerden yapılandırmayı kaldırmak üzere aşağıdaki adımları tamamlayın.

  1. Azure DevOps Server örneğinizdeki her koleksiyon için Uzantıları Yönet sayfasına gidin.

    Uzantının yüklü olup olmadığını denetleme işleminin ekran görüntüsü.

  2. Arama özelliğini kaldırın:

    1. Özellik Kaldır iletişim kutusu olan Yönetim Konsolu'nu açın.
    2. Sol bölmede Azure DevOps Sunucusu'nun adını seçin.
    3. Sağ bölmede Özellik Kaldırseçin.
    4. Özelliği Kaldır iletişim kutusunda, Arama hizmetiöğesini seçin ve ardından Kaldırdüğmesine tıklayın.
  3. Elasticsearch hizmetini ve verilerini kaldırın.

    1. PowerShell yönetici olarak açın.
    2. Yapılandır Search.ps1 klasörünü ve Arama'nın uzaktan yüklenmesi için gereken diğer dosyaları açın.
    3. Kaldır seçeneğiyle betiği yeniden çalıştırın: "ConfigureTFSSearch.ps1 -remove".

Azure DevOps Server araması aşağıdaki sınırlamalara sahiptir:

  • Olağanüstü durum kurtarma (DR) işlemi gerçekleştirir ve sunucunuzu SQL veritabanınızın önceki bir anlık görüntüsüne geri taşırsanız tüm koleksiyonlarınızı yeniden dizine almanız gerekir.
  • Arama genişletilebilir değildir, ancak Geliştirici Topluluğuüzerinde yeni bir özellik isteği gönderebilirsiniz.