Instalace a konfigurace vyhledávání

Azure DevOps Server 2022 – Azure DevOps Server 2019

V tomto článku se dozvíte, jak nainstalovat, nakonfigurovat a odinstalovat zabezpečený vyhledávací modul 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.

Tip

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ů 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é úložištěm SSD (Solid State Drive)
  • Více než 1 000 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žadavek 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 % velikosti všech úložišť, která se mají indexovat. 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 by 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 Build OpenJDK verze 11.
    • Microsoft Build OpenJDK neinstaluje aktualizace automaticky.
  • Markdowndeep by Topten Software.
  • Platforma kompilátoru Roslyn
  • Analyzátor rozpoznávání jazyka ANTLR

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é následují.
  • 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 Azure DevOps Serveru je výchozí prostředí JRE Azul Zulu OpenJDK.

  • Během instalace průvodce nastaví proměnnou prostředí JAVA_HOME tak, aby odkazovat 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 JRE starší než minimální požadovaná funkcí Search a proměnná JAVA_HOME byla nastavena na tuto verzi, doporučujeme nainstalovat funkci Search na samostatný server.

  • Pokud je verze JRE serveru rovna nebo novější , než je minimální požadovaná funkcí Search a není rozpoznána průvodcem konfigurace, ujistěte se, že není nastavená proměnná JAVA_HOME . 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 virtuální počítač Java.

  • 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ů nebo využití procesoru větší než 50 % nebo více AT.
    • 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 odemknuté.
    • Pokud se rozhodnete pokračovat s Oracle JRE, obraťte se na Oracle pro předplatné Java SE, abyste mohli dál 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 virtuální počítač Java.

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. Vyhledávání kódu můžete nainstalovat později z místní galerie. Přejděte do místní galerie (http://{server}/_gallery) jako správce. 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 Search pomocí vyhrazených stránek v Průvodci konfigurací serveru při instalaci Azure DevOps Serveru. Později můžete také zrušit konfiguraci vyhledávání spuštěním Průvodce konfigurací serveru nebo spuštěním Průvodce konfigurací vyhledávání.

Úvahy pro konfiguraci

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

  • Pracovní položka i hledání wikiwebu se ve výchozím nastavení povolí při konfiguraci hledání. V případě potřeby je možné tato rozšíření později odebrat ze stránky Spravovat rozšíření Azure DevOps Serveru.
  • 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 pro automatickou instalaci rozšíření Code Search pro existující a nové kolekce projektů pro automatizaci tohoto procesu.
  • Pokud políčko nenainstalujete pro všechny kolekce projektů rozšíření Code Search, pcA ho může nainstalovat z místní galerie. Ujistěte se, že jste na stránce portálu Azure DevOps Serveru přešli 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ělte až 150 % velikosti všech úložišť, která se mají indexovat, což je nejhorší scénář. 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 hledání serveru s více AT, nainstalujte ho 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.

Upgrade serveru

  • Pokud provádíte předprodukční upgrade na serveru, na kterém je služba Search už nakonfigurovaná, musíte znovu nakonfigurovat službu Search, abyste zabránili 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. Během konfigurace můžete zrušit zaškrtnutí políčka Automaticky nainstalovat a nakonfigurovat vyhledávání kódu pro všechny existující a nové kolekce . 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 nakonfigurované vyhledávání a chcete ho zachovat, zaškrtněte políčko vedle možnosti Instalovat a konfigurovat vyhledávání. Průvodce zjistí existující instanci služby Search a automaticky vybere možnost Použít existující instanci vyhledávání a předem naplní aktuální adresu URL Search. Možnost Nainstalovat novou instanci vyhledávání použijte 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ý hardware, 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 Možnost Nainstalovat a Konfigurovat vyhledávání a pak vybrat Použít existující instanci vyhledávání a zadat adresu URL existující instance služby Search k dokončení konfigurace vyhledávání.
    • Pokud je služba Search nakonfigurovaná společně s instancí Azure DevOps Serveru na starém serveru, musíte v Průvodci konfigurací serveru vybrat možnost Nainstalovat a konfigurovat vyhledávání . Pokud chcete pokračovat ve vyhledávání na hostiteli a Azure DevOps Serveru, vyberte na novém serveru znovu nainstalovat novou instanci vyhledávání. 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řipojíte ji k jiné instanci, postupujte takto:
    1. Odpojení kolekce 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 kód, pracovní položka nebo wikiweb pro kolekci z místní galerie v rámci Azure DevOps Serveru.
    5. Nainstalujte rozšíření Vyhledávání pro kolekci z místní galerie 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 nastavte zaškrtávací políčko Instalovat a konfigurovat vyhledávání . na stránce Hledat v Průvodci konfigurací serveru.
  2. Vyberte možnost Použít existující Search.
  3. Odkaz na balíček Search uvedený v průvodci použijte pro přístup k sadě souborů instalačního programu vyhledávání na místním počítači. Potom tyto soubory zkopírujte na vzdálený server.
  4. Podle pokynů v souboru Readme.txt umístěném v sadě instalačních souborů nainstalujte nebo aktualizujte Search 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í v průvodci konfigurací, který běží na instanci Azure DevOps Serveru.
  6. Po dokončení obou instalací nakonfigurujte odpovídající nastavení zabezpečení pro oba servery.

Search používá upravenou verzi Elasticsearch. Výrazy "Search" a "Elasticsearch" se pro zbytek této části používají zaměnitelně. Správa istrátory musí zadat přihlašovací údaje bez ohledu na to, jestli je Search 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ými předem existujícími přihlašovacími údaji účtu nebo serveru. Slouží k nastavení a připojení k Search. Tyto nové sady přihlašovacích údajů umožňují základní ověřování ve vyhledávací službě.

Snímek obrazovky zobrazující přihlašovací údaje pro hledání

Při upgradu z TFS 2018 Update 1.1 na TFS 2018 Update 3 nebo pro rekonfiguraci vyhledávání musí zadat přihlašovací údaje hesla jenom informace o uživateli. Správa istrátory mohou v případě potřeby zadat jiné uživatelské jméno a heslo. Pokud je Search na stejném počítači jako Azure DevOps Server, můžou správci v Průvodci konfigurací poskytnout novou sadu přihlašovacích údajů, aby v případě potřeby nastavili Search. Pokud je ale Search na vzdáleném počítači, musí správci nejprve zadat nové přihlašovací údaje instalačnímu skriptu Search.

Poznámka:

  • Hodnoty uživatelského jména a hesla by měly mít délku 8 až 64 znaků. I když je možné heslo přiřadit libovolnou hodnotu, uživatelské jméno může obsahovat pouze alfanumerické znaky a podtržítka.
  • 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:

  • Konfigurace zabezpečení pouze s ověřováním:

  • Konfigurace zabezpečení pomocí ověřování, ochrany integrity a šifrování:

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

    • Pokud byl Search nastaven během upgradu 2018 RTM a nakonfigurovaný v systému TFS, který upgradujete, jeho komponenty se aktualizují automaticky.
    • Pokud bylo vyhledávání nakonfigurováno na vzdáleném serveru, přečtěte si téma Instalace nebo aktualizace hledání na samostatném serveru , abyste ho aktualizovali.

    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 Search, 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 Serveru 2019 Update 1: Pokud je vyhledávání nakonfigurované na samostatném serveru, vyžadovat přeinstalaci vyhledávání. Když budete postupovat podle pokynů pro upgrade, spusťte v kroku 4 místo aktualizace Configure-TFSSearch.ps1 – Operation updatená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 vyhledávání nakonfigurované na stejném serveru jako Azure DevOps Server nebo na samostatném serveru.

Unconfigure Search on the machine configured as your Azure DevOps Server

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

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

  2. Odeberte funkci Hledání:

    1. Otevřete konzolu Azure DevOps Server Správa istrace.
    2. Vyberte název serveru.
    3. Zvolte Odebrat funkci.
    4. Vyberte Search a pak zvolte Odebrat.
  3. Odeberte službu Elasticsearch:

    1. Otevřete příkazový řádek jako 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 "SEARCH_ES_INDEX_PATH"prostředí .

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 Spravovat rozšíření pro každou kolekci v instanci Azure DevOps Serveru.

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

  2. Odeberte funkci Hledání:

    1. Otevřete dialogové okno Odebrat funkci Správa konzoly.
    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 Search a pak zvolte Odebrat.
  3. Odeberte službu Elasticsearch a data.

    1. Otevřete PowerShell jako správce.
    2. Otevřete složku Configure Search.ps1 spolu se zbývajícími soubory, které jsou potřeba pro vzdálenou instalaci služby Search.
    3. Znovu spusťte skript s možností odebrat: "ConfigureTFSSearch.ps1 -remove".

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

  • Přeindexujte 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í není rozšiřitelné, ale můžete odeslat novou žádost o funkci v komunitě vývojářů.