Sdílet prostřednictvím


Instalace a konfigurace vyhledávání

Azure DevOps Server 2022 – Azure DevOps Server 2019

V tomto článku se dozvíte, jak nainstalovat, nakonfigurovata odinstalovat zabezpečený vyhledávací web pro Azure DevOps Server, který běží na vašem vlastním hardwaru. Další informace najdete v následujících článcích:

Požadavky

Doporučení k hardwaru

Vyhledávání funguje na jakémkoli fyzickém serveru nebo virtuálním počítači, na kterém běží Azure DevOps Server. Můžete ho nastavit na stejném serveru nebo na jiný server pro vyhledávání. Pokud používáte stejný server, zvažte využití procesoru.

Spropitné

Doporučujeme nakonfigurovat vyhledávání na samostatném serveru pro produkční prostředí.

V případě přijatelného výkonu ve scénářích s více uživateli zvažte následující doporučení:

  • Méně než 250 uživatelů s vyhledáváním na serveru (obvykle se používá pro demonstrační a zkušební účely):
    • Čtyřjádrový procesor, 16 GB (minimálně) RAM
    • Faktor využití procesoru menší než 50%
    • Rychlé pevné disky zálohované úložištěm SSD (Solid State Drive)
  • Méně než 500 uživatelů s vyhledáváním umístěným na samostatném serveru:
    • Procesor se dvěma jádry, 8 GB (minimálně) RAM
    • Rychlé pevné disky zálohované úložištěm SSD (Solid State Drive)
  • Méně než 1 000 uživatelů má vyhledávání umístěné na samostatném serveru:
    • Čtyřjádrový procesor, 16 GB (minimálně) RAM
    • Rychlé pevné disky zálohované úložištěm SSD (Solid State Drive)
  • Více než 1000 uživatelů s vyhledáváním umístěným na samostatném serveru:
    • Čtyřjádrový procesor, 16 GB (minimálně) RAM
    • Rychlé pevné disky zálohované diskem SSD (Solid State Drive) nebo úložištěm san (Storage Area Network)
  • Azure DevOps Server s více aplikačními vrstvami (AT):
  • Využití procesoru Azure DevOps Serveru větší než 50% před instalací služby Search:

požadavky na místo na disku:

Množství místa na disku používaného službou Search závisí hlavně na typu a velikosti indexovaných souborů. Pro vyhledávání kódu, protože často úložiště můžou být velká a mají různé soubory kódu ve správě verzí, může být velký požadavek na místo na disku. Přidělte až 150% z velikosti všech úložišť k indexování. Z TFS 2018 Update 3 a dále mohou uživatelé vyloučit složky ze svých úložišť pro index, aby optimalizovali místo na disku spotřebované vyhledáváním.

Softwarové závislosti

Vyhledávání má následující závislosti, které se automaticky nainstalují jako součást konfigurace:

  • Elasticsearch od Elasticsearch.
    • Hledání používá upravenou verzi Elasticsearch. Funguje jenom s touto upravenou verzí.
    • Novější verze Elasticsearch se dodává s TFS 2018 Update 2 a novější verzí a Azure DevOps Serverem. Při upgradu ze starší verze výsledků hledání se veškerý obsah přeindexuje po instalaci. V závislosti na objemu obsahu (soubory kódu, pracovní položky a stránky wikiwebu) může přeindexování nějakou dobu trvat.
  • klient Elasticsearch NEST.
  • Microsoft Buildu OpenJDK verze 11.
    • Microsoft Build OpenJDK neinstaluje aktualizace automaticky.
  • Markdowndeep od Topten Software.
  • platformu kompilátoru Roslyn.
  • ANTLR analyzátor rozpoznávání jazyka.

Poznámka

  • Správce systému nebo serveru musí zajistit, aby byl server JRE udržován a aktualizován v souladu s doporučeními poskytovatele softwaru. Podívejte se také na poznámky k instalaci Javy, které jsou uvedeny níže.
  • Pravidelně kontrolujte aktualizace.

Poznámky k instalaci Javy

  • Pokud průvodce konfigurací vyhledávání nerozpozná funkční instalaci prostředí Java Runtime Environment (JRE), poskytuje možnost stáhnout a nainstalovat nejnovější podporovanou verzi. Ke stažení se vyžaduje připojení k internetu. Pokud cílový server nemá připojení k internetu, musíte před instalací služby Search stáhnout a nainstalovat JRE ručně.

  • Verze vyhledávání před Azure DevOps Serverem používaly prostředí Oracle Server Java Runtime Environment. Na serveru Azure DevOps je výchozím prostředím JRE Azul Zulu OpenJDK.

  • Během instalace průvodce nastaví proměnnou prostředí JAVA_HOME tak, aby odkazovala na instalační složku JRE. Průvodce konfigurací nemusí zjistit existující instalaci JRE, pokud nebyla správně nakonfigurovaná, nebo pokud nastavení JAVA_HOME odkazuje na starší verzi, než vyžaduje služba Search.

    Poznámka

    Nedoporučujeme instalovat Elasticsearch na počítač, na kterém se sdílí prostředky, zejména ve velkém podnikovém prostředí s více aplikačními vrstvami. Doporučujeme nastavit Elasticsearch na samostatném vyhrazeném počítači. Prostředí JAVA se tak nesdílí mezi počítači pro jiné účely.

  • Pokud existuje verze prostředí JRE starší než minimální vyžadovaná aplikací Search a proměnná JAVA_HOME byla nastavena na tuto verzi, doporučujeme nainstalovat Search na samostatný server.

  • Pokud existuje verze Serveru JRE rovna nebo novější než minimální vyžadovaná funkcí Search a není rozpoznána průvodcem konfigurací, ujistěte se, že JAVA_HOME proměnná není nastavená. Pak znovu spusťte průvodce konfigurací (& "C:\Program Files\Azure DevOps Server XXX\Search\ES\vX.XX\bin\elasticsearch-service.bat" manager) a vyberte verzi nastavením cesty pro Java Virtual Machine.

  • Pokud nemůžete nainstalovat verzi Javy vyžadovanou službou Search z důvodu jiných závislostí, můžete provést následující úlohy:

    • Nainstalujte Azure DevOps Server s rozšířením Search na server, na který není nainstalovaná Java. Tuto akci nedoporučujeme pro více než 250 uživatelů, pro využití procesoru větší než 50% nebo při použití více AT jednotek.
    • Nainstalujte vyhledávání a JRE na samostatný server od Azure DevOps Serveru.

    Poznámka

    Pokud používáte Oracle Server JRE 8, což bylo výchozí nastavení pro vyhledávání v TFS (Azure DevOps Server nepoužívá Oracle Server JRE 8), mějte na paměti následující informace:

    • Vyhledávání nepoužívá ani nepodporuje žádné komerční funkce Serveru JRE 8. Proto během konfigurace vyhledávání nejsou komerční funkce serveru JRE aktivovány ani odemknuty.
    • Pokud se rozhodnete pokračovat s Oracle JRE, obraťte se na Oracle pro předplatné Java SE, abyste mohli i nadále dostávat aktualizace JRE.

Migrace na microsoft build OpenJDK z Oracle Serveru JRE

Vyhledávání v Azure DevOps Serveru podporuje jak Microsoft Build of OpenJDK, tak Oracle JRE, které vám umožní vybrat si mezi nimi podle vašich potřeb.

Pokud chcete přejít na Microsoft Build openJDK, ujistěte se, že JAVA_HOME proměnná není nastavená. Pak znovu spusťte průvodce konfigurací (& "C:\Program Files\Azure DevOps Server XXX\Search\ES\vX.XX\bin\elasticsearch-service.bat" manager) a vyberte verzi nastavením cesty pro Java Virtual Machine.

Dostupnost funkcí

  • Vyhledávání pracovních položek je k dispozici v sadě Team Foundation Server (TFS) 2018 a novějších verzích.
  • Vyhledávání wikiwebu je k dispozici v TFS 2018 Update 2 a novějších verzích.
  • Pracovní položka a vyhledávání wikiwebu jsou integrovaná rozšíření, která se ve výchozím nastavení instalují během konfigurace hledání.
  • Vyhledávání kódu je k dispozici v TFS 2018 a novějších verzích a je to funkce výslovného souhlasu. Kódové vyhledávání můžete nainstalovat později z místní galerie. Jako správce přejděte do místní galerie (http://{server}/_gallery). Uživatelé, kteří nejsou správci, můžou také požádat o rozšíření pro Azure DevOps Server. Další informace naleznete v tématu Instalace rozšíření.

Nakonfigurujte vyhledávací službu pomocí vyhrazených stránek v Průvodci konfigurací serveru při instalaci Azure DevOps Serveru. Můžete také později zrušit konfiguraci vyhledávání opětovným spuštěním Průvodce konfigurací serveru nebo spuštěním Průvodce konfigurací vyhledávání.

Aspekty konfigurace

Při konfiguraci vyhledávání zvažte následující informace:

  • Položka práce a vyhledávání na Wiki se zapnou ve výchozím nastavení, když je vyhledávání nakonfigurováno. Tato rozšíření lze později odebrat ze stránky Spravovat rozšíření na serveru Azure DevOps.
  • Rozšíření Code Search musí být nainstalované pro každou kolekci Azure DevOps Serveru, ve které ho chcete použít. Při počáteční konfiguraci vyhledávání můžete nastavit zaškrtávací políčko na Automaticky nainstalovat rozšíření Code Search pro existující a nové kolekce projektů pro automatizaci tohoto procesu.
  • Pokud nezaškrtnete políčko pro instalaci rozšíření Code Search pro všechny vaše kolekce projektů, může ho vaše PCA nainstalovat z místní galerie. Na stránce portálu Azure DevOps Serveru nezapomeňte přejít do místní galerie (http://{Server}/_gallery). Další informace naleznete v tématu Instalace rozšíření.
  • Indexování kolekce obvykle trvá méně než hodinu. Může ale trvat až 12 hodin na základě velikosti a počtu souborů kódu, pracovních položek nebo stránek wikiwebu. Pokud se po tomto období nezobrazí žádné výsledky, zkontrolujte stav indexování.

Použití druhého pevného disku a vzdáleného serveru

  • Pro dosažení maximálního výkonu by složka indexu vyhledávání měla být na samostatném rychlém pevném disku a zajištěna rychlým úložištěm, jako je jednotka SSD (Solid-State Drive) nebo síť SAN (Storage Area Network). Přidělit až 150% z velikosti všech úložišť, která se mají indexovat, což je nejhorší případ. Skutečné využité místo závisí na množství a typu souborů kódu a počtu pracovních položek a stránek wikiwebu v této kolekci.
    • Pokud není uvedeno, služba indexování a modul Elasticsearch během instalace používají účet síťové služby k vytvoření a přístupu k indexovacím souborům. Pokud zvolíte jiný účet, musí mít oprávnění Přihlásit se jako služba .
    • Omezte oprávnění pro disk a složku indexu, abyste chránili index před náhodnými nebo škodlivými úpravami nebo odstraněním. Nakonfigurujte příslušná nastavení zabezpečení pro službu.
  • Když nakonfigurujete vyhledávání pro server s víceAT, instalujte jej na samostatný server. Po instalaci služby Search na vzdálený server pomocí Průvodce konfigurací na libovolném ze serverů AT propojte instanci vzdáleného vyhledávání s vaší instancí Azure DevOps Serveru. Při zrušení konfigurace vyhledávání je nutné použít Průvodce konfigurací na stejném at serveru, kde byla původně provedena konfigurace.

Aktualizujte server

  • Pokud provádíte předprodukční upgrade na serveru, na kterém je služba Search už nakonfigurovaná, musíte plně znovu nakonfigurovat službu Search, aby nedošlo k poškození produkční instance. V rámci předprodukčního upgradu není k dispozici možnost konfigurovat vyhledávání. Místo toho ho nakonfigurujte po dokončení předprodukčního upgradu. Můžete zrušit zaškrtnutí Automaticky nainstalovat a nakonfigurovat vyhledávání kódu pro všechny existující a nové kolekce během konfigurace. Místo toho po dokončení konfigurace nainstalujte rozšíření Vyhledávání pouze pro jednu nebo dvě kolekce.
  • Pokud provádíte produkční upgrade na serveru, na kterém je služba Vyhledávání nakonfigurovaná a chcete ji zachovat, zaškrtněte políčko vedle Nainstalovat a konfigurovat Vyhledávání. Průvodce zjistí existující instanci služby Search a automaticky vybere Použít existující instanci vyhledávání a předem naplní aktuální adresu URL vyhledávací služby. Použijte možnost Nainstalovat novou instanci vyhledávání pouze v případě, že chcete nastavit novou instanci vyhledávání na stejném serveru. Nastavení nové instance způsobí, že se znovu indexují všechny vaše kódy, pracovní položky a wikiweb, což může v závislosti na velikosti kolekcí nějakou dobu trvat. Během indexování se uživatelům můžou zobrazit částečné výsledky hledání.
  • Pokud upgradujete server na nový hardwarový, máte následující dvě možnosti. V závislosti na tom, jak bylo dříve nakonfigurováno vyhledávání, vyberte z těchto možností:
    • Pokud je vyhledávání na samostatném serveru od Azure DevOps Serveru, musíte v Průvodci konfigurací serveru vybrat Nainstalovat a konfigurovat vyhledávací a pak vybrat Použít existující instanci vyhledávání a zadat adresu URL existující instance vyhledávání, aby se dokončila konfigurace vyhledávání.
    • Pokud je služba Search nakonfigurovaná společně s instancí Azure DevOps Serveru na vašem starém serveru, musíte v Průvodci konfigurací serveru vybrat Nainstalovat a konfigurovat vyhledávání. Pak vyberte Nainstalovat novou instanci vyhledávání znovu na nový server, pokud chcete pokračovat ve spolupráci vyhledávání a Azure DevOps Serveru. Všechny indexy vyhledávání pro všechny kolekce se znovu vytvoří, což může v závislosti na velikosti každé kolekce nějakou dobu trvat.
  • Pokud odpojujete kolekci z jedné instance Azure DevOps Serveru a připojujete ji k jiné instanci, postupujte následovně:
    1. Odpojte kolekci od zdrojové instance Azure DevOps Serveru
    2. Konfigurace vyhledávání v cílové instanci Azure DevOps Serveru (pokud ještě není hotová)
    3. Připojení kolekce k cílovému Serveru Azure DevOps
    4. Odinstalujte rozšíření vyhledávání, jako je Code, Work item nebo Wiki pro kolekci, z místní galerie v rámci serveru Azure DevOps.
    5. Nainstalujte rozšíření Vyhledávání pro kolekci z místní galerie , a to tak, že na ni přejdete z cílové instance Azure DevOps Serveru.

Instalace nebo aktualizace vyhledávání na samostatném serveru

Chcete-li nainstalovat nebo aktualizovat vyhledávání na samostatném nebo vzdáleném serveru, obvykle pokud je více než 250 uživatelů, proveďte následující kroky:

  1. Při instalaci Azure DevOps Serveru na primární server zaškrtněte políčko Nainstalovat a nakonfigurovat vyhledávání. na stránce Vyhledávání v Průvodci konfigurací serveru.
  2. Vyberte možnost Použít existující vyhledávací službu.
  3. Pomocí odkazu Balíček vyhledávací služby v průvodci získáte přístup k sadě instalačních souborů vyhledávání na vašem místním počítači. Potom tyto soubory zkopírujte na vzdálený server.
  4. Postupujte podle pokynů v souboru Readme.txt umístěném v sadě instalačních souborů a nainstalujte nebo aktualizujte vyhledávací službu na vzdáleném serveru.
  5. Po dokončení instalace zkopírujte výslednou adresu URL vyhledávacího serveru do pole Adresa URL vyhledávání průvodce konfigurací, který běží na instanci Azure DevOps Serveru.
  6. Po dokončení obou instalací nakonfigurujte odpovídající nastavení zabezpečení pro oba servery.

Vyhledávací služba používá upravenou verzi Elasticsearch. Výrazy "Search" a "Elasticsearch" se pro zbytek této části používají zaměnitelně. Správci musí zadat přihlašovací údaje bez ohledu na to, jestli je vyhledávací služba na stejném počítači jako Azure DevOps Server, nebo na samostatném počítači. Tato akce je součástí konfigurace funkce Vyhledávání prostřednictvím serveru nebo průvodce konfigurací vyhledávání. Tyto přihlašovací údaje jsou nové a nesouvisí s žádným existujícím účtem nebo přihlašovacími údaji serveru. Používají se k nastavení a připojení ke službě Search. Tyto nové sady přihlašovacích údajů umožňují základní ověřování ve vyhledávací službě.

Snímek obrazovky s přihlašovacími údaji pro hledání

Pro upgrade z TFS 2018 Update 1.1 na TFS 2018 Update 3 nebo pro rekonfiguraci vyhledávání se automaticky vyplní pouze informace o uživateli a administrátoři musí zadat přihlašovací údaje. Správci můžou v případě potřeby zadat jiné přihlašovací údaje. Pokud je vyhledávací služba na stejném počítači jako Azure DevOps Server, můžou správci v Průvodci konfigurací zadat novou sadu přihlašovacích údajů, aby mohli službu Search nastavit, pokud chcete. Pokud je vyhledávací služba na vzdáleném počítači, musí správci nejprve zadat nové přihlašovací údaje instalačnímu skriptu vyhledávací služby.

Poznámka

  • Hodnoty přihlašovacích údajů by měly mít délku 8 až 64 znaků.
  • Přihlašovací údaje pro vyhledávání ověřují jenom uživatele a ujistěte se, že neověřené uživatele nemají přístup ke koncovému bodu Elasticsearch. Elasticsearch ale nepodporuje PROTOKOL HTTPS, takže se tyto přihlašovací údaje posílají přes síť jako řetězce kódované v Base64. Pokud existuje možnost zprostředkujícího přístupu k žádosti, nakonfigurujte odpovídající nastavení zabezpečení na základě požadavků na zabezpečení a dodržování předpisů vaší společnosti.
  • Snažte se omezit přístup k vyhledávání i indexování konkrétním uživatelům nebo skupinám uživatelů pomocí šifrování prostřednictvím protokolu IPSec, jak je popsáno níže.

Zvažte následující techniky použití protokolu IPSec k zabezpečení Elasticsearch na windows serveru:

  • Konfigurujte zabezpečení pouze pomocí ověřování:

  • Konfigurace zabezpečení s ověřováním, ochranou integrity a šifrováním:

    • Zajišťuje použití šifrování a ochrany integrity spolu s ověřováním. Vyžaduje pravidla jak na straně klienta, tak na straně služby (pravidla brány firewall na serveru, na kterém běží Elasticsearch, a na všech serverech aplikační vrstvy Azure DevOps Server).
    • Předpoklad: Azure DevOps Server musí být nakonfigurovaný s účtem domény.
    • Postupujte podle kroků v Izolace serveru vyžadováním šifrování a členství ve skupině
  • TFS 2018 Update 2: Zahrnuje aktualizované součásti vyhledávání a vyhledávání wikiwebu.

    • Pokud byla vyhledávací služba nastavena během upgradu 2018 RTM a nakonfigurována v systému TFS, který upgradujete, její komponenty se aktualizují automaticky.
    • Pokud bylo vyhledávání nakonfigurováno na vzdáleném serveru, přečtěte si v tématu Instalace nebo aktualizace vyhledávání na samostatném serveru pokyny pro jeho aktualizaci.

    V obou případech se veškerý existující obsah (soubory kódu a pracovní položky) automaticky přeindexuje, aby podporoval aktualizované komponenty po konfiguraci. V závislosti na objemu obsahu může dokončení tohoto upgradu nějakou dobu trvat.

  • TFS 2018 Update 1.1 a TFS 2018 Update 3: Zahrnuje základní ověřování pro komunikaci mezi TFS a vyhledávací službou, aby byla bezpečnější. Jakákoli instalace nebo upgrade na TFS 2018 Update 1.1 nebo TFS 2018 Update 3 musí poskytovat přihlašovací údaje jako součást konfigurace funkce vyhledávání prostřednictvím serveru nebo průvodce konfigurací vyhledávání.

  • TFS 2018 Update 2 (nebo novější) na verzi Azure DevOps Server 2019 Update 1: Pokud je vyhledávání nakonfigurováno na samostatném serveru, je potřeba provést přeinstalaci vyhledávání. Při sledování pokynů pro upgrade, v kroku 4 místo aktualizace Configure-TFSSearch.ps1 – Operation updatespusťte následující příkaz, který přeinstaluje vyhledávání.

Configure-TFSSearch.ps1 -Operation remove
Configure-TFSSearch.ps1 -Operation install -TFSSearchInstallPath <install location> -TFSSearchIndexPath $env:SEARCH_ES_INDEX_PATH

V případě předprodukčního upgradu, produkčního upgradu, nové migrace hardwaru, klonování nebo jiné operace údržby průvodce konfigurací serveru nekonfiguruje vyhledávání. Po dokončení operace údržby serveru je ale snadné ji překonfigurovat.

Můžou se zde vyskytovat případy, kdy už nechcete používat funkci Hledat nebo chcete provést novou a čistou instalaci. Tato operace vyžaduje několik kroků v závislosti na tom, jestli je služba Search nakonfigurovaná na stejném serveru jako Azure DevOps Server, nebo na samostatném serveru.

Zrušte konfiguraci Vyhledávání na stroji, který je nastaven jako váš Azure DevOps Server.

  1. Odinstalujte rozšíření vyhledávání pro každou kolekci. Přejděte na stránku Spravovat rozšíření každé kolekce v instanci Azure DevOps Serveru:

    snímek obrazovky s kontrolou instalace rozšíření

  2. Odeberte funkci Hledání:

    1. Otevřete konzolu pro správu Serveru Azure DevOps.
    2. Vyberte název serveru.
    3. Zvolte Odebrat funkci.
    4. Vyberte vyhledávací službua pak zvolte Odebrat.
  3. Odeberte službu Elasticsearch:

    1. Otevřete příkazový řádek s právy správce.
    2. Změňte adresář, cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-5.4.1\bin".
    3. Odeberte službu "elasticsearch-service.bat remove".
  4. Odebrat data hledání:

    • Odstraňte obsah umístění popsaného proměnnou prostředí SEARCH_ES_INDEX_PATH.
  5. Odstraňte proměnnou prostředí "SEARCH_ES_INDEX_PATH".

Zrušení konfigurace vyhledávání na samostatném serveru

Následujícím postupem zrušte konfiguraci vyhledávání, například pro kód, pracovní položku nebo wiki, pro každou kolekci.

  1. Přejděte na stránku Správa rozšíření v instanci Azure DevOps Serveru pro každou kolekci.

    Snímek obrazovky– Kontrola, jestli je rozšíření nainstalované.

  2. Odeberte funkci Hledání:

    1. Otevřete dialogové okno konzoly pro správu Odebrat funkci.
    2. V levém podokně vyberte název Azure DevOps Serveru.
    3. V pravém podokně zvolte Odebrat funkci.
    4. V dialogovém okně Odebrat funkci vyberte Vyhledávací službaa pak zvolte Odebrat.
  3. Odeberte službu Elasticsearch a data.

    1. Otevřete PowerShell jako správce.
    2. Otevřete složku Konfigurovat Search.ps1 spolu se zbývajícími soubory požadovanými pro vzdálenou instalaci služby Search.
    3. Spusťte skript znovu s možností odebrat: "ConfigureTFSSearch.ps1 -remove".

Hledání Azure DevOps Serveru má následující omezení:

  • Přeindexovat všechny kolekce, pokud provedete operaci zotavení po havárii (DR) a přesunete server zpět na dřívější snímek databáze SQL.
  • Vyhledávání nelze rozšířit, ale můžete odeslat novou žádost o funkci na komunitě vývojářů .