Delen via


Zoeken installeren en configureren

Azure DevOps Server 2022 - Azure DevOps Server 2019

In dit artikel leert u hoe uinstalleert, configureert en een beveiligde zoekmachine verwijdert voor Azure DevOps Server die wordt uitgevoerd op uw eigen hardware. Zie de volgende artikelen voor meer informatie:

Voorwaarden

Machtigingen: lid van de groep Beheerders van projectverzamelingen voor de organisatie. Gebruikers zonder beheerdersrechten kunnen ook aanvragen om de extensie aan hun PCA toe te voegen. Zie Azure DevOps Server installeren en configureren en vereisten en compatibiliteitvoor meer informatie.

Aanbevelingen voor hardware

Zoeken werkt op elke fysieke server of virtuele machine waarop Azure DevOps Server wordt uitgevoerd. U kunt deze instellen op dezelfde server of op een andere server voor Zoeken. Als u dezelfde server gebruikt, moet u rekening houden met het CPU-gebruik.

Fooi

U wordt aangeraden Zoeken op een afzonderlijke server te configureren voor productieomgevingen.

Houd rekening met de volgende aanbevelingen voor acceptabele prestaties in scenario's voor meerdere gebruikers:

  • Minder dan 250 gebruikers met Search op de server (meestal gebruikt voor demonstratie- en proefdoeleinden):
    • Quad core processor, 16 GB (minimum) RAM
    • CPU-gebruiksfactor minder dan 50%
    • Snelle harde schijf ondersteund door SSD-opslag (Solid State Drive)
  • Minder dan 500 gebruikers met de zoekfunctie op een afzonderlijke server:
    • Dual core processor, 8 GB (minimum) RAM
    • Snelle harde schijf ondersteund door SSD-opslag (Solid State Drive)
  • Minder dan 1.000 gebruikers met de Zoekfunctie op een afzonderlijke server:
    • Quad core processor, 16 GB (minimum) RAM
    • Snelle harde schijf ondersteund door SSD-opslag (Solid State Drive)
  • Meer dan 1000 gebruikers met Zoeken op een afzonderlijke server:
    • Quad core processor, 16 GB (minimum) RAM
    • Snelle harde schijf ondersteund door SSD (Solid State Drive) of SAN-opslag (Storage Area Network)
  • Azure DevOps Server met meerdere toepassingslagen (TL's):
  • Cpu-gebruik van Azure DevOps Server groter dan 50% vóór de installatie van Search:

vereiste schijfruimte:

De hoeveelheid schijfruimte die door Search wordt gebruikt, is voornamelijk afhankelijk van het type en de grootte van geïndexeerde bestanden. Voor codezoekopdrachten, omdat opslagplaatsen vaak groot kunnen zijn en verschillende codebestanden in versiebeheer kunnen hebben, kan de vereiste schijfruimte aanzienlijk zijn. Wijs maximaal 150% toe van de grootte van alle opslagplaatsen voor indexering. Vanaf TFS 2018 Update 3 en hoger kunnen gebruikers mappen uitsluiten van hun opslagplaatsen voor index om de schijfruimte te optimaliseren die wordt verbruikt door zoekopdrachten.

Softwareafhankelijkheden

Zoeken heeft de volgende afhankelijkheden, die automatisch worden geïnstalleerd als onderdeel van de configuratie:

  • Elasticsearch door Elastic.
    • Search maakt gebruik van een gewijzigde versie van Elasticsearch. Het werkt alleen met deze gewijzigde versie.
    • Een nieuwere versie van Elasticsearch wordt geleverd met TFS 2018 Update 2 en hoger en Azure DevOps Server. Alle inhoud wordt opnieuw geïndexeerd na de installatie wanneer u een upgrade uitvoert van een oudere versie van zoekresultaten. Afhankelijk van het volume van de inhoud (codebestanden, werkitems en wikipagina's), kan het opnieuw indexeren enige tijd duren.
  • Elasticsearch NEST-client.
  • Microsoft Build van OpenJDK versie 11.
    • De Microsoft Build van OpenJDK installeert updates niet automatisch.
  • Markdowndeep van Topten Software.
  • Roslyn compiler platform.
  • ANTLR-parser voor taalherkenning.

Notitie

  • De systeem- of serverbeheerder moet ervoor zorgen dat Server JRE wordt onderhouden en bijgewerkt in overeenstemming met de aanbevelingen van de softwareprovider. Zie ook de volgende java-installatieopmerkingen.
  • Regelmatig controleren op updates.

Notities bij de installatie van Java

  • Als de wizard Zoeken-configuratie geen werkende installatie van een JRE (Java Runtime Environment) detecteert, biedt de wizard een optie voor het downloaden en installeren van de meest recente ondersteunde versie. Er is een internetverbinding vereist om te downloaden. Als de doelserver geen internetverbinding heeft, moet u een JRE handmatig downloaden en installeren voordat u Search installeert.

  • Versies van Search voordat Azure DevOps Server de Oracle Server Java Runtime Environmentgebruikt. Azure DevOps Server maakt gebruik van Elasticsearch versie 7.17.0, met een gebundelde versie van OpenJDK.

  • Tijdens de installatie stelt de wizard de omgevingsvariabele JAVA_HOME in zodat deze verwijst naar de jre-installatiemap. De configuratiewizard detecteert mogelijk geen bestaande JRE-installatie als deze niet juist is geconfigureerd, of als de JAVA_HOME instelling verwijst naar een eerdere versie dan vereist door Search.

    Notitie

    We raden u niet aan Elasticsearch te installeren op een computer waarop resources worden gedeeld, met name in een grote bedrijfsomgeving met meerdere toepassingslagen. U wordt aangeraden Elasticsearch in te stellen op een afzonderlijke toegewezen machine. Op die manier wordt de JAVA-omgeving niet gedeeld tussen computers voor andere doeleinden.

  • Als er een versie van een JRE-eerder dan het minimum dat is vereist voor Search en de variabele JAVA_HOME is ingesteld op die versie, raden we u aan Search te installeren op een afzonderlijke server.

  • Als er een versie van Server JRE die gelijk is aan of hoger is dan het minimum dat is vereist voor zoeken en niet wordt herkend door de configuratiewizard, controleert u of JAVA_HOME variabele NIET is ingesteld. Voer vervolgens de configuratiewizard (& "C:\Program Files\Azure DevOps Server XXX\Search\ES\vX.XX\bin\elasticsearch-service.bat" manager) opnieuw uit en selecteer de versie door het pad voor de Virtuele Java-machine in te stellen.

  • Als u de door Search vereiste versie van Java niet kunt installeren vanwege andere afhankelijkheden, kunt u de volgende taken uitvoeren:

    • Installeer Azure DevOps Server met de zoekextensie op een server waarop Java niet is geïnstalleerd. We raden deze actie niet aan voor meer dan 250 gebruikers of CPU-gebruik van meer dan 50% of meerdere AT's.
    • Installeer Search en de JRE op een afzonderlijke server van Azure DevOps Server.

    Notitie

    Als u Oracle Server JRE 8 gebruikt, wat de standaardinstelling was voor Zoeken in TFS (Azure DevOps Server gebruikt Oracle Server JRE 8 niet), moet u rekening houden met de volgende informatie:

    • Zoeken gebruikt of biedt geen ondersteuning voor commerciële functies van Server JRE 8. Daarom worden tijdens de zoekconfiguratie de commerciële functies van de Server JRE niet geactiveerd of ontgrendeld.
    • Als u ervoor kiest om door te gaan met Oracle JRE, neemt u contact op met Oracle voor een Java SE-abonnement, zodat u JRE-updates kunt blijven ontvangen.

Migreren naar Microsoft Build van OpenJDK van Oracle Server JRE

Zoeken in Azure DevOps Server ondersteunt zowel de Microsoft Build van OpenJDK als Oracle JRE, waarmee u kunt kiezen op basis van uw behoeften.

Als u wilt overschakelen naar de Microsoft Build van OpenJDK, moet u ervoor zorgen dat JAVA_HOME variabele NIET is ingesteld. Voer vervolgens de configuratiewizard (& "C:\Program Files\Azure DevOps Server XXX\Search\ES\vX.XX\bin\elasticsearch-service.bat" manager) opnieuw uit en selecteer de versie door het pad voor de Virtuele Java-machine in te stellen.

Beschikbaarheid van functies

  • Zoeken naar werkitems is beschikbaar in TFS (Team Foundation Server) 2018 en nieuwere versies.
  • Wiki Search is beschikbaar in TFS 2018 Update 2 en nieuwere versies.
  • Werkitem- en wikizoekopdrachten zijn ingebouwde extensies die standaard worden geïnstalleerd tijdens de zoekconfiguratie.
  • Code zoeken is beschikbaar in TFS 2018 en latere versies en is een opt-in-functie. U kunt Code Search later installeren vanuit de lokale galerie. Ga als beheerder naar Lokale galerie (http://{server}/_gallery). Gebruikers zonder beheerdersrechten kunnen ook de extensie voor Azure DevOps Server aanvragen. Zie Een extensie installerenvoor meer informatie.

Configureer de zoekservice met behulp van de toegewezen pagina's in de wizard Serverconfiguratie tijdens het installeren van Azure DevOps Server. U kunt ook de configuratie van Zoeken later ongedaan maken door de wizard Serverconfiguratie opnieuw uit te voeren of door de wizard Zoekconfiguratie te starten.

Configuratieoverwegingen

Houd rekening met de volgende informatie wanneer u Search configureert:

  • Zowel werkitem als Wiki-zoekopdracht worden standaard ingeschakeld wanneer Zoeken is geconfigureerd. Deze uitbreidingen kunnen later, indien nodig, worden verwijderd op de pagina Extensies beheren van Azure DevOps Server.
  • De Code Search-extensie moet worden geïnstalleerd voor elke Azure DevOps Server-verzameling waar u deze wilt gebruiken. Wanneer u Search in eerste instantie configureert, kunt u een selectievakje instellen op Automatisch de Code Search-extensie installeren voor bestaande en nieuwe Projectverzamelingen om dit proces te automatiseren.
  • Als u het selectievakje niet instelt om de Code Search-extensie voor al uw projectverzamelingen te installeren, kan uw PCA deze installeren vanuit de lokale galerie. Zorg ervoor dat u naar de lokale galerie (http://{Server}/_gallery) gaat vanaf de azure DevOps Server-portalpagina. Zie Een extensie installerenvoor meer informatie.
  • Het duurt doorgaans minder dan één uur voordat search een verzameling indexeren. Het kan echter maximaal 12 uur duren op basis van de grootte en het aantal codebestanden, werkitems of wikipagina's. Als u na deze periode geen resultaten krijgt, controleer de indexeringsstatus.

Een tweede harde schijf en externe server gebruiken

  • Voor maximale prestaties moet de zoekindexmap zich op een afzonderlijke snelle harde schijf bevinden en worden ondersteund door snelle opslag, zoals een SSD (Solid-State Drive) of Storage Area Network (SAN). Wijs maximaal 150% toe van de grootte van alle opslagplaatsen die moeten worden geïndexeerd. Dit is het ergste scenario. De werkelijke verbruikte ruimte is afhankelijk van de hoeveelheid en het type codebestanden en het aantal werkitems en wikipagina's in die verzameling.
    • Tenzij opgegeven, gebruiken de indexeringsservice en elasticsearch-engine het netwerkserviceaccount tijdens de installatie om de indexbestanden te maken en te openen. Als u een ander account kiest, moet dit machtiging voor aanmelden als service hebben.
    • Beperk de machtigingen voor de indexschijf en -map om de index te beschermen tegen onbedoelde of schadelijke wijziging of verwijdering. Configureer de juiste beveiligingsinstellingen voor de service.
  • Wanneer u Search configureert voor een server met meerdere AT's, installeert u deze op een afzonderlijke server. Nadat u Search op de externe server hebt geïnstalleerd, gebruikt u de Configuratiewizard op een van de AT-servers om het externe zoekexemplaar te koppelen aan uw Azure DevOps Server-exemplaar. Wanneer u de configuratie van Zoeken ongedaan hebt gemaakt, moet u de wizard Configuratie gebruiken op dezelfde AT-server waar de configuratie oorspronkelijk is uitgevoerd.

Uw server upgraden

  • Als u een preproductie-upgrade uitvoert op een server waarop Search al is geconfigureerd, moet u Search opnieuw configureren om te voorkomen dat uw productie-exemplaar beschadigd raakt. Er is geen optie om Zoeken te configureren als onderdeel van een preproductie-upgrade. In plaats daarvan configureert u deze nadat de preproductie-upgrade is voltooid. U kunt tijdens de configuratie de optie Automatisch installeren en configureren van Code Search voor alle bestaande en nieuwe verzamelingen uitschakelen. Installeer in plaats daarvan de zoekextensie voor slechts één of twee van uw verzamelingen nadat de configuratie is voltooid
  • Als u een productie-upgrade uitvoert op een server waarop Zoeken is geconfigureerd en u dit wilt behouden, schakelt u het selectievakje in naast Zoeken installeren en configureren. De wizard detecteert uw bestaande zoekinstantie en selecteert automatisch Bestaande zoekinstantie gebruiken en vult de huidige zoekservice-URL vooraf in. Gebruik de optie Een nieuw zoekexemplaar installeren alleen als u een nieuw exemplaar van Zoeken op dezelfde server wilt opzetten. Als u een nieuw exemplaar instelt, worden al uw code, werkitems en wiki opnieuw geïndexeerd, wat, afhankelijk van de grootte van de verzamelingen, enige tijd kan duren. Tijdens het indexeren kunnen gebruikers gedeeltelijke zoekresultaten zien
  • Als u uw server naar nieuwe hardware upgraden, hebt u de volgende twee opties. Selecteer een van deze opties, afhankelijk van de wijze waarop Search eerder is geconfigureerd:
    • Als Search zich op een afzonderlijke server bevindt ten opzichte van Azure DevOps Server, moet u Installeren en configureren van Zoek selecteren in de wizard Serverconfiguratie, en vervolgens Een bestaande zoekinstantie gebruiken selecteren en de URL van uw bestaande zoekinstantie opgeven om de zoekconfiguratie te voltooien.
    • Als de zoekfunctie naast uw Azure DevOps Server-exemplaar op de oude server is geconfigureerd, moet u in de wizard Serverconfiguratie Zoeken installeren en configureren selecteren. Selecteer vervolgens opnieuw een nieuw zoeksysteem installeren op de nieuwe server als u wilt doorgaan met het gezamenlijk hosten van Search en Azure DevOps Server. Alle zoekindexen voor alle verzamelingen worden opnieuw gemaakt. Dit kan enige tijd duren, afhankelijk van de grootte van elke verzameling
  • Als u een verzameling loskoppelt van het ene Azure DevOps Server-exemplaar om deze aan een ander exemplaar te koppelen, voert u de volgende stappen uit:
    1. Koppel de verzameling los van de bronserverinstantie van Azure DevOps Server
    2. Search configureren op het Azure DevOps Server-doelexemplaar (indien nog niet gedaan)
    3. De verzameling koppelen aan de Azure DevOps-doelserver
    4. Verwijder uw zoekextensies, zoals Code, Werkitem of Wiki voor de collectie uit de Lokale Galerie in uw Azure DevOps Server
    5. Installeer de zoekextensie voor de verzameling uit de lokale galeriedoor ernaartoe te bladeren vanuit uw doel Azure DevOps Server-exemplaar.

Zoeken installeren of bijwerken op een afzonderlijke server

Voer de volgende stappen uit om Search op een afzonderlijke of externe server te installeren of bij te werken, meestal wanneer er meer dan 250 gebruikers zijn:

  1. Wanneer u Azure DevOps Server op de primaire server installeert, stelt u het selectievakje Zoeken installeren en configureren in. op de pagina Zoeken van de Serverconfiguratiewizard.
  2. Selecteer de optie om een bestaande zoekservice te gebruiken.
  3. Gebruik de koppeling van het zoekservicepakket, die in de wizard is verstrekt, om toegang te krijgen tot een set installatiebestanden voor de zoekfunctie op de lokale computer. Kopieer deze bestanden vervolgens naar de externe server.
  4. Volg de instructies in het Readme.txt-bestand, dat zich in de set installatiebestanden bevindt, om de zoekservice op de externe server te installeren of bij te werken.
  5. Nadat de installatie is voltooid, kopieert u de resulterende URL van de zoekserver naar het zoek-URL veld van de configuratiewizard die wordt uitgevoerd op het Azure DevOps Server-exemplaar.
  6. Wanneer beide installaties zijn voltooid, configureert u de juiste beveiligingsinstellingen voor beide servers.

De Search-service maakt gebruik van een gewijzigde versie van Elasticsearch. De termen 'Zoeken' en 'Elasticsearch' worden door elkaar gebruikt voor de rest van deze sectie. Beheerders moeten referenties opgeven, ongeacht of de Search-service zich op dezelfde computer bevindt als Azure DevOps Server of op een afzonderlijke computer. Deze actie maakt deel uit van het configureren van de zoekfunctie via de server of de wizard Zoekconfiguratie. Deze referenties zijn nieuw en zijn niet gerelateerd aan bestaande account- of serverreferenties. Ze worden gebruikt om de zoekdienst in te stellen en er verbinding mee te maken. Deze nieuwe sets referenties maken basisverificatie mogelijk in de zoekservice.

schermopname met zoekreferenties.

Voor een upgrade van TFS 2018 Update 1.1 naar TFS 2018 Update 3 of voor herconfiguratie van zoekopdrachten, moeten alleen de gebruikersgegevens automatisch worden ingevuld en moeten beheerders referenties opgeven. Beheerders kunnen desgewenst verschillende referenties opgeven. Als de zoekservice zich op dezelfde computer bevindt als Azure DevOps Server, kunnen beheerders een nieuwe set referenties opgeven in de configuratiewizard om de zoekservice in te stellen, indien gewenst. Als de zoekservice zich echter op een externe computer bevindt, moeten beheerders eerst de nieuwe referenties opgeven voor het installatiescript van de zoekservice.

Notitie

  • Referentiewaarden moeten beide tussen de 8 en 64 tekens lang zijn.
  • Zoekreferenties verifiëren alleen de gebruikers en zorgen ervoor dat niet-geverifieerde gebruikers geen toegang hebben tot het Elasticsearch-eindpunt. Elasticsearch biedt echter geen ondersteuning voor HTTPS en dus worden deze referenties via het netwerk verzonden als met Base64 gecodeerde tekenreeksen. Als er een mogelijkheid is om tussenliggende toegang aan te vragen, configureert u de juiste beveiligingsinstellingen op basis van de beveiligings- en nalevingsvereisten van uw bedrijf.
  • Beperk de toegang tot zowel het zoeken als indexeren van specifieke gebruikers of gebruikersgroepen met behulp van versleuteling via IPSec, zoals als volgt wordt beschreven.

Overweeg de volgende technieken voor het gebruik van IPSec om Elasticsearch op een Windows-server te beveiligen:

  • Alleen beveiliging configureren met verificatie:

    • Zorgt ervoor dat alleen geautoriseerde gebruikers toegang hebben tot de Elasticsearch-poort. Er zijn alleen regels aan de servicezijde vereist (firewallregels op alleen de server waarop Elasticsearch wordt uitgevoerd)
    • Vereiste: Azure DevOps Server moet worden geconfigureerd met een domeinaccount
    • Volg de stappen in Firewallregels maken die met IPsec beveiligd netwerkverkeer toestaan
  • Beveiliging configureren met verificatie, integriteitsbeveiliging en versleuteling:

    • Zorgt ervoor dat versleuteling en integriteitsbeveiliging worden toegepast, samen met verificatie. Hiervoor zijn zowel regels aan de clientzijde als aan de servicezijde vereist (firewallregels op de server waarop Elasticsearch en alle Azure DevOps Server App Tier-servers worden uitgevoerd)
    • Vereiste: Azure DevOps Server moet worden geconfigureerd met een domeinaccount
    • Volg de stappen in Een server isoleren door versleuteling en groepslidmaatschap te vereisen
  • TFS 2018 Update 2: bevat bijgewerkte zoekonderdelen en Wiki Search.

    • Als de Search-service is ingesteld tijdens de RTM-upgrade van 2018 en geconfigureerd in het TFS-systeem dat u wilt upgraden, worden de onderdelen automatisch bijgewerkt.
    • Als Search is geconfigureerd op een externe server, raadpleegt u Zoeken op een afzonderlijke server installeren of bijwerken om deze bij te werken.

    In beide gevallen wordt alle bestaande inhoud (codebestanden en werkitems) automatisch opnieuw geïndexeerd ter ondersteuning van de bijgewerkte onderdelen na de configuratie. Afhankelijk van het volume van de inhoud kan het enige tijd duren voordat deze upgrade is voltooid.

  • TFS 2018 Update 1.1 en TFS 2018 Update 3: Bevat basisverificatie voor de communicatie tussen de TFS- en Search-service om deze veiliger te maken. Elke installatie of upgrade naar TFS 2018 Update 1.1 of TFS 2018 Update 3 moet referenties opgeven als onderdeel van de configuratie van de zoekfunctie, via de server of de zoekconfiguratie-wizard.

  • TFS 2018 Update 2 (of hoger) naar versie Azure DevOps Server 2019 Update 1: Wanneer zoeken op een afzonderlijke server is geconfigureerd, is een herinstallatie van de zoekfunctie vereist. Bij het volgen van de instructies voor een upgrade, voer in stap 4 in plaats van Configure-TFSSearch.ps1 – Operation updatebij te werken de volgende opdracht uit om de zoekfunctie opnieuw te installeren.

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

Voor een preproductie-upgrade, productie-upgrade, nieuwe hardwaremigratie, klonen of andere onderhoudsbewerkingen, wordt Zoeken door de Serverconfiguratiewizard uitgeschakeld. Maar het is eenvoudig om opnieuw te configureren nadat de serveronderhoudsbewerking is voltooid.

Mogelijk wilt u zoeken niet meer gebruiken of wilt u een nieuwe en schone installatie uitvoeren. Voor deze bewerking zijn meerdere stappen vereist, afhankelijk van of Search is geconfigureerd op de dezelfde server als Azure DevOps Server, of op een afzonderlijke server.

De configuratie van zoeken op de computer ongedaan maken die is geconfigureerd als uw Azure DevOps-server

  1. Verwijder de zoekextensie voor elke verzameling. Ga naar de pagina Extensies beheren van elke verzameling in uw Azure DevOps Server-exemplaar:

    schermopname van het controleren of de extensie is geïnstalleerd.

  2. Verwijder de zoekfunctie:

    1. Open de Azure DevOps Server Administration Console.
    2. Selecteer de naam van de server.
    3. Kies Verwijder Functie.
    4. Selecteer zoekserviceen kies vervolgens verwijderen.
  3. Verwijder de Elasticsearch-service:

    1. Open opdrachtprompt als beheerder.
    2. Verander de map, cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-5.4.1\bin".
    3. Verwijder de service "elasticsearch-service.bat remove".
  4. Zoekgegevens verwijderen:

    • Verwijder de inhoud van de locatie die wordt beschreven door de omgevingsvariabele, SEARCH_ES_INDEX_PATH.
  5. Verwijder de omgevingsvariabele "SEARCH_ES_INDEX_PATH".

De configuratie van zoeken op een afzonderlijke server ongedaan maken

Voer de volgende stappen uit om de configuratie van Zoeken ongedaan te maken, zoals voor Code, Werkitem of Wiki, voor elke verzameling.

  1. Ga naar de pagina Extensies beheren voor elke verzameling in uw Azure DevOps Server-exemplaar.

    Controleren of de extensie is geïnstalleerd, met een schermopname.

  2. Verwijder de zoekfunctie:

    1. Open het dialoogvenster Functie verwijderen, Beheerconsole.
    2. Selecteer in het linkerdeelvenster de naam van de Azure DevOps-server.
    3. Kies in het rechterdeelvenster Verwijder functie.
    4. In het dialoogvenster Functie verwijderen, selecteer Zoekserviceen kies vervolgens Verwijderen.
  3. Verwijder de Elasticsearch-service en -gegevens.

    1. Open PowerShell als beheerder.
    2. Open de Search.ps1 map configureren, samen met de rest van de bestanden die nodig zijn voor een externe installatie van Search.
    3. Voer het script opnieuw uit met de optie Verwijderen: "ConfigureTFSSearch.ps1 -remove".

Zoeken naar Azure DevOps Server heeft de volgende beperking: