Instalación y configuración de La búsqueda
Azure Boards | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018- TFS 2017
Obtenga información sobre cómo realizar las siguientes acciones para las búsquedas de código, wiki y elemento de trabajo de la extensión de búsqueda en Azure DevOps Server.
- Configuración de la búsqueda
- Búsqueda segura
- Búsqueda de actualización
- Desinstalación de la búsqueda
Para obtener información sobre cómo administrar la indexación de búsqueda, vea Administrar la búsqueda y la indexación.
Requisitos previos
- Para instalar la extensión de búsqueda, debe ser administrador Project recopilación de datos (PCA) de la organización. Los usuarios no administrativos también pueden solicitar que la extensión se agrega a su PCA.
- Consulte Instalación y configuración de Azure DevOps Server y Requisitos y compatibilidad.
Recomendaciones de hardware
Puede usar Search en cualquier servidor físico o máquina virtual de cualquier tamaño que ejecute Azure DevOps Server. Puede configurarlo en el mismo servidor o en un servidor independiente dedicado a la búsqueda. Al configurar La búsqueda en el mismo servidor, tenga en cuenta el factor de uso de cpu existente debido a Azure DevOps Server propio.
Sugerencia
En entornos de producción, se recomienda configurar la búsqueda en un servidor independiente.
Para obtener un rendimiento aceptable en escenarios de varios usuarios, tenga en cuenta las siguientes recomendaciones:
- Menos de 250 usuarios con La búsqueda se encuentra en el servidor (normalmente se usa con fines de demostración y prueba):
- Procesador de cuatro núcleos, 16 GB (mínimo) de RAM
- Factor de uso de CPU inferior al 50 %
- Unidad de disco duro rápida con el respaldo del almacenamiento de unidad de estado sólido (SSD)
- Menos de 500 usuarios con Search ubicado en un servidor independiente:
- Procesador de doble núcleo, 8 GB (mínimo) de RAM
- Unidad de disco duro rápida con el respaldo del almacenamiento de unidad de estado sólido (SSD)
- Menos de 1000 usuarios con Search ubicado en un servidor independiente:
- Procesador de cuatro núcleos, 16 GB (mínimo) de RAM
- Unidad de disco duro rápida con el respaldo del almacenamiento de unidad de estado sólido (SSD)
- Más de 1000 usuarios con Search ubicado en un servidor independiente:
- Procesador de cuatro núcleos, 16 GB (mínimo) de RAM
- Unidad de disco duro rápida con el respaldo de la unidad de estado sólido (SSD) o Storage area network (SAN)
- Azure DevOps Server con varios AT:
- Instalación de Search en un servidor independiente
- Azure DevOps Server uso de CPU superior al 50 % antes de la instalación de búsqueda:
- Instalación de Search en un servidor independiente
Requisito de espacio en disco:
La cantidad de espacio en disco que usa Search depende principalmente del tipo y el tamaño de los archivos indexados. Para la búsqueda de código, dado que muchas veces los repositorios pueden ser grandes y tener archivos de código diferentes en el control de versiones, el requisito de espacio en disco podría ser significativo. Asigne hasta el 150 % del tamaño de todos los repositorios que se indexarán. A partir de TFS 2018 Update 3 y unidades adicionales, los usuarios pueden excluir carpetas de sus repositorios para indexar a fin de optimizar el espacio en disco que consume la búsqueda.
Dependencias de software
La búsqueda tiene las siguientes dependencias, que se instalan automáticamente como parte de la configuración:
- Elasticsearch de Elasticsearch VB (consulte las notas 1 y 2)
- Cliente NEST de Elasticsearch
- Azul Zulu OpenJDK (consulte las notas de instalación de Java)
- Markdowndeep de Topten Software
- Plataforma del compilador roslyn
- Analizador de reconocimiento de lenguaje ANTLR
Nota
- Search usa una versión modificada de Elasticsearch. Solo funciona con esta versión modificada.
- Una versión más reciente de Elasticsearch se incluye con TFS 2018 Update 2 y versiones posteriores, Azure DevOps Server. Todo el contenido se vuelve a indexar después de la instalación al actualizar desde una versión anterior de resultados de búsqueda. En función del volumen de contenido (archivos de código, elementos de trabajo y páginas wiki), la re indexación puede tardar algún tiempo en completarse.
- El administrador del sistema o del servidor debe asegurarse de que el JRE del servidor se mantiene y actualiza de acuerdo con las recomendaciones del proveedor de software. Consulte también las notas de instalación de Java que se incluyen a continuación.
- Azul Zulu OpenJDK no instala actualizaciones automáticamente
- Asegúrese de comprobar periódicamente si hay actualizaciones.
Notas de instalación de Java
- Si el Asistente para configuración de búsqueda no detecta una instalación en funcionamiento de un Java Runtime Environment (JRE), proporciona una opción para descargar e instalar la versión compatible más reciente. Se requiere conectividad a Internet para descargar. Si el servidor de destino no tiene conectividad a Internet, debe descargar e instalar un JRE manualmente antes de intentar instalar Search.
- Las versiones de Search Azure DevOps Server usaron oracle server Java Runtime Environment. En Azure DevOps Server, el JRE predeterminado es Azul Zulu OpenJDK.
- Durante la instalación, el asistente establece el JAVA_HOME variable de entorno para que apunte a la carpeta de instalación de JRE. Es posible que el Asistente para configuración no detecte una instalación de JRE existente si no se ha configurado correctamente o si la configuración de JAVA_HOME apunta a una versión anterior a la requerida por Search.
Nota
No se recomienda instalar Elasticsearch en un equipo donde se compartan recursos, especialmente en un entorno empresarial grande con varios niveles de aplicación. En su lugar, se recomienda configurar Elasticsearch en una máquina dedicada independiente. De este modo, el entorno java no se comparte entre las máquinas para otros fines.
Si hay una versión de una JRE anterior al mínimo requerido por Search y la variable JAVA_HOME se estableció en esa versión, se recomienda instalar Search en un servidor independiente. Si cambia el valor de la variable JAVA_HOME, puede provocar un error en otro software instalado.
Si hay una versión de Server JRE igual o posterior al mínimo requerido por Search y el Asistente para configuración no lo reconoce, establezca el valor de la variable JAVA_HOME en esa versión. Esta acción se describe en la guía de instalación de JRE. A continuación, vuelva a ejecutar el Asistente para configuración.
Si no puede instalar la versión de Java requerida por Search debido a otras dependencias, puede realizar las siguientes tareas:
- Instale Azure DevOps Server con la extensión Search en un servidor que no tenga Instalado Java. No se recomienda esta acción para más de 250 usuarios o uso de CPU superior al 50 % o varios AT).
- Instale Search y JRE en un servidor independiente de Azure DevOps Server
Nota
Si usa Oracle Server JRE 8, que era el valor predeterminado de Búsqueda en TFS (Azure DevOps Server no usa Oracle Server JRE 8), tenga en cuenta la siguiente información:
- La búsqueda no usa ni admite ninguna de las características comerciales de Server JRE 8. Por lo tanto, durante la configuración de búsqueda, las características comerciales de Server JRE no se activan ni desbloquean.
- Si decide continuar con Oracle JRE, póngase en contacto con Oracle para obtener una suscripción de Java SEpara que pueda seguir recibiendo actualizaciones de JRE.
Migración a Zulu OpenJDK desde Oracle Server JRE
La búsqueda Azure DevOps Server admite Azul Zulu OpenJDK y Oracle JRE, lo que le permite elegir entre ellos en función de sus necesidades. Al seleccionar un JRE durante la instalación, Azure DevOps Server predeterminado es Azul Zulu OpenJDK 8.
Para cambiar a Azul Zulu OpenJDK, siga estos pasos:

Para obtener más información, consulte GitHub Code-Search migración de Java.
Nota
- Si decide usar Azul Zulu OpenJDK, asegúrese de descargar la versión 8.
Disponibilidad de características
- Búsqueda de elementos de trabajo está disponible en TFS 2017 Update 2 y versiones posteriores.
- Wiki Search está disponible en TFS 2018 Update 2 y versiones posteriores.
- La búsqueda de elementos de trabajo y wikis son extensiones integradas que se instalan de forma predeterminada durante la configuración de búsqueda.
- Code Search está disponible en TFS 2017 y versiones posteriores, y es una característica de suscripción. Puede instalar Code Search más adelante desde la Galería local. Vaya a la Galería local ( ) como administrador. Los usuarios no administrativos también pueden solicitar la extensión para Azure DevOps Server. Para más información, consulte Instalación de una extensión en la documentación de la galería local.
Configuración de la búsqueda
Configure el servicio Search las páginas dedicadas en el Asistente para configuración del servidor a medida que instala Azure DevOps Server. También puede volver a configurar la búsqueda ejecutando el Asistente para configuración del servidor o iniciando el Asistente para configuración de búsqueda. Para configurar la búsqueda, tenga en cuenta las consideraciones de configuración.
Consideraciones de configuración
Tenga en cuenta la siguiente información al configurar la búsqueda:
La búsqueda de elementos de trabajo y wikis se habilitan de forma predeterminada cuando se configura la búsqueda. Estas extensiones se pueden quitar más adelante si es necesario desde la página Administrar extensiones de Azure DevOps Server
La Code Search debe instalarse para cada Azure DevOps Server colección en la que quiera usarla. Al configurar inicialmente Search, puede establecer una casilla en Instalación automática de una extensión Code Search para colecciones de Project existentes y nuevas para automatizar este proceso.
- Si no establece la casilla para instalar la extensión Code Search para todas las colecciones de proyectos, el PCA puede instalarla desde la Galería local. Asegúrese de ir a la Galería local (
http://{Server}/_gallery) desde la página Azure DevOps Server portal. Para más información, consulte Instalación de una extensión en la documentación de la galería local.
- Si no establece la casilla para instalar la extensión Code Search para todas las colecciones de proyectos, el PCA puede instalarla desde la Galería local. Asegúrese de ir a la Galería local (
Uso de una segunda unidad de disco duro y un servidor remoto
Para obtener el máximo rendimiento, la carpeta de índice de búsqueda debe estar en una unidad de disco duro rápida independiente y estar respaldado por almacenamiento rápido, como una unidad de estado sólido (SSD) o una red de área de Storage (SAN). Asigne hasta el 150 % del tamaño de todos los repositorios que se indexarán. Este es el peor escenario. El espacio real que se consume depende de la cantidad y el tipo de archivos de código, así como del número de elementos de trabajo y páginas wiki de esa colección.
- A menos que se especifique, el servicio de indexación y el motor de Elasticsearch usan la cuenta de servicio de red durante la instalación para crear y acceder a los archivos de índice. Si elige una cuenta diferente, debe tener el permiso Iniciar sesión como servicio.
- Restrinja los permisos del disco de índice y la carpeta para proteger el índice frente a modificaciones o eliminaciones accidentales o malintencionadas. Configuración de las opciones de seguridad adecuadas para el servicio
Al configurar Buscar un servidor con varios niveles de aplicación (AT),asegúrese de que está instalado en un servidor independiente. Después de instalar Search en el servidor remoto, use el Asistente para configuración en cualquiera de los servidores AT para vincular la instancia de búsqueda remota con la Azure DevOps Server remota. Al desconfigurar la búsqueda en el futuro, debe usar el Asistente para configuración en el mismo servidor AT donde se realizó la configuración originalmente.
Actualización del servidor
Si va a realizar una actualización de preproducción en un servidor en el que la búsqueda ya estaba configurada, debe volver a configurar la búsqueda por completo de nuevo para evitar dañar la instancia de producción. No hay ninguna opción para configurar la búsqueda como parte de una actualización de preproducción. En su lugar, configúrelo una vez completada la actualización de preproducción. Puede desactivar Instalación y configuración automáticas de Code Search para todas las colecciones nuevas y existentes durante la configuración. En su lugar, instale la extensión de búsqueda solo para una o dos de las colecciones una vez completada la configuración.
Si va a realizar una actualización de producción en un servidor donde está configurada la búsqueda y desea conservarla, active la casilla situada junto a Instalar y configurar la búsqueda. El asistente detecta la instancia de Búsqueda existente y selecciona automáticamente Usar instancia de búsqueda existente y rellena previamente la dirección URL servicio Search actual. Use la opción Instalar una nueva instancia de búsqueda solo si desea configurar una nueva instancia de Search en el mismo servidor. La configuración de una nueva instancia hace que todo el código, los elementos de trabajo y la wiki se indexe de nuevo, lo que , en función del tamaño de las colecciones, puede tardar algún tiempo. Durante la indexación, los usuarios pueden ver resultados de búsqueda parciales
Si va a actualizar el servidor a un nuevo hardware,tiene las dos opciones siguientes. Seleccione una de estas opciones, en función de cómo se haya configurado previamente la búsqueda:
- Si la búsqueda está en un servidor independiente de Azure DevOps Server, debe seleccionar Instalar y configurar búsqueda en el Asistente para configuración del servidor y, a continuación, seleccionar Usar una instancia de búsqueda existente y proporcionar la dirección URL de la instancia de búsqueda existente para completar la configuración de búsqueda.
- Si la búsqueda está configurada junto con la Azure DevOps Server en el servidor anterior, debe seleccionar Instalar y configurar la búsqueda en el Asistente para configuración del servidor. A continuación, seleccione Install a new Search instance again on the new server (Instalar una nueva instancia de búsqueda) en el nuevo servidor si desea continuar con la búsqueda y el Azure DevOps Server. Se vuelve a crear todos los índices de búsqueda de todas las colecciones que, dependiendo del tamaño de cada colección, pueden tardar algún tiempo.
Si está desasoyéndo una colección de una Azure DevOps Server para adjuntarla a otra instancia, siga estos pasos:
- Desasoción de la colección de la instancia de Azure DevOps Server origen
- Configurar la búsqueda en la instancia Azure DevOps Server destino (si aún no lo ha hecho)
- Adjunte la colección al destino Azure DevOps Server
- Desinstale las extensiones de búsqueda, como Código, Elemento de trabajo o Wiki para la colección desde la Galería local dentro de su Azure DevOps Server
- Instale la extensión Search para la colección desde la Galería local;para ello, busque en ella desde la instancia de Azure DevOps Server destino.
Instalación o actualización de Search en un servidor independiente
Para instalar o actualizar Search en un servidor independiente o remoto, normalmente cuando hay más de 250 usuarios, siga estos pasos:
A medida que Azure DevOps Server en el servidor principal, establezca la casilla Instalar y configurar búsqueda en la página Buscar del Asistente para configuración del servidor.
Seleccione la opción Use an existing servicio Search.
Use el servicio Search de paquete que se proporciona en el asistente para acceder a un conjunto de archivos del instalador de búsqueda en el equipo local. A continuación, copie estos archivos en el servidor remoto.

Siga las instrucciones del archivo Readme.txt, ubicado en el conjunto de archivos del instalador, para instalar o actualizar el servicio Search en el servidor remoto.
Una vez completada la instalación, copie la dirección URL del servidor de búsqueda resultante en el campo Url de búsqueda del asistente para configuración que se ejecuta en la Azure DevOps Server de búsqueda.
Una vez completadas ambas instalaciones, configure las opciones de seguridad adecuadas para ambos servidores.
Búsqueda segura
El servicio Search usa una versión modificada de Elasticsearch (los términos "Search" y "Elasticsearch" se usan indistintamente para el resto de esta sección). Los administradores deben proporcionar credenciales si el servicio Search está en la misma máquina que Azure DevOps Server o en una máquina independiente. Esta acción forma parte de la configuración de la característica De búsqueda mediante el servidor o el Asistente para configuración de búsqueda. Estas credenciales son nuevas y no están relacionadas con ninguna cuenta o credenciales de servidor existentes previamente. Se usan para configurar y conectarse a servicio Search. Estos nuevos conjuntos de credenciales habilitan la autenticación básica en el servicio de búsqueda.

Para una actualización de TFS 2018 Update 1.1 a TFS 2018 Update 3 o para la reconfiguración de búsqueda, solo los administradores y los administradores de la información de usuario deben proporcionar credenciales de contraseña. Los administradores tienen la opción de proporcionar un nombre de usuario y una contraseña diferentes si lo desean. Si el servicio Search está en la misma máquina que Azure DevOps Server, los administradores pueden proporcionar un nuevo conjunto de credenciales en el Asistente para configuración para configurar el servicio Search, si lo desea. Sin embargo, si el servicio Search está en un equipo remoto, los administradores primero deben proporcionar las nuevas credenciales al script servicio Search configuración.
Nota
- Los valores de nombre de usuario y contraseña deben tener entre 8 y 64 caracteres. Aunque se puede asignar cualquier valor a la contraseña, el nombre de usuario solo puede contener caracteres alfanuméricos y de subrayado.
- Las credenciales de búsqueda solo autentican a los usuarios y se asegura de que los usuarios no autenticados no puedan acceder al punto de conexión de Elasticsearch. Sin embargo, Elasticsearch no admite HTTPS y, por tanto, estas credenciales se envían a través de la red como cadenas codificadas en Base64. Si existe la posibilidad de acceso intermedio a la solicitud, configure las opciones de seguridad adecuadas en función de los requisitos de cumplimiento y seguridad corporativos.
- El objetivo es limitar el acceso a la búsqueda y la indexación a usuarios o grupos de usuarios específicos mediante el cifrado a través de IPSec, tal y como se describe a continuación.
Tenga en cuenta las técnicas siguientes para usar IPSec para proteger Elasticsearch en un Windows servidor:
Configure la seguridad solo con autenticación:
- Garantiza que solo los usuarios autorizados puedan acceder al puerto de Elasticsearch. Solo requiere reglas del lado del servicio (reglas de firewall en solo el servidor que ejecuta Elasticsearch).
- Requisito previo: Azure DevOps Server debe configurarse con una cuenta de dominio
- Siga los pasos descritos en Creación de reglas de firewall que permiten el tráfico de red protegido por IPsec
Configure la seguridad con autenticación, protección de integridad y cifrado:
- Garantiza que el cifrado y la protección de la integridad se aplican junto con la autenticación. Requiere reglas del lado cliente y del lado del servicio (reglas de firewall en el servidor que ejecuta Elasticsearch y todos los Azure DevOps Server app tier).
- Requisito previo: Azure DevOps Server debe configurarse con una cuenta de dominio
- Siga los pasos descritos en Aislar un servidor mediante la necesidad de cifrado y pertenencia a grupos.
Búsqueda de actualización
TFS 2017 Update 1 incluye componentes de búsqueda actualizados.
- Si el servicio Search se configuró en TFS 2017 RTM durante una actualización, los componentes de servicio Search se actualizan automáticamente si el servicio Search se configuró en el TFS que se está actualizando.
- Si la búsqueda se configuró en un servidor remoto, siga las instrucciones para actualizarla.
TFS 2017 Update 2 incluye la búsqueda de elementos de trabajo. Usa la misma servicio Search que Code Search.
- Si el servicio Search se configuró en TFS 2017 RTM/Update1 durante una actualización, los componentes de servicio Search se actualizan automáticamente si el servicio Search se configuró en el TFS que se está actualizando.
- Si la búsqueda se configuró en un servidor remoto, siga las instrucciones para actualizarla.
TFS 2018 Update 2 incluye componentes de búsqueda actualizados y Wiki Search.
- Si el servicio Search se configuró en TFS 2017 RTM, Update1, Update2 o TFS 2018 RTM durante una actualización, los componentes de servicio Search se actualizan automáticamente si el servicio Search se configuró en el TFS que se está actualizando.
- Si la búsqueda se configuró en un servidor remoto, siga las instrucciones para actualizarla.
En ambos casos, todo el contenido existente (archivos de código y elementos de trabajo) se vuelve a indexar automáticamente para admitir los componentes actualizados después de la configuración. Dependiendo del volumen de contenido, esta actualización puede tardar algún tiempo en completarse.
TFS 2018 Update 1.1 y TFS 2018 Update 3 incluyen autenticación básica para la comunicación entre TFS y servicio Search para que sea más segura. Cualquier instalación o actualización a TFS 2018 Update 1.1 o TFS 2018 Update 3 debe proporcionar credenciales como parte de la configuración de la característica de búsqueda, a través del servidor o del Asistente para configuración de búsqueda.
TFS 2018 Update 2 (o superior)a la versión Azure DevOps Server 2019 Update 1 , cuando la búsqueda se configura en un servidor independiente, requiere una reinstalación de la búsqueda. Mientras sigue las instrucciones de una actualización, en el paso 4 en lugar de actualizar , ejecute el siguiente comando para volver a instalar la búsqueda:
Configure-TFSSearch.ps1 -Operation remove
Configure-TFSSearch.ps1 -Operation install -TFSSearchInstallPath <install location> -TFSSearchIndexPath $env:SEARCH_ES_INDEX_PATH
Desinstalación de la búsqueda
Para una actualización de preproducción, actualización de producción, nueva migración de hardware, clonación u otra operación de mantenimiento, el Asistente para configuración del servidor desconfigura la búsqueda. Sin embargo, es fácil volver a configurar una vez completada la operación de mantenimiento del servidor.
Sin embargo, puede haber casos en los que ya no quiera usar La búsqueda o quiera realizar una instalación nueva y limpia. Esta operación requiere varios pasos, en función de si la búsqueda está configurada en el mismo servidor que Azure DevOps Server o en un servidor independiente.
Des configure Search on the machine configured as your Azure DevOps Server
Desinstale la extensión Search para cada colección donde esté instalada. Vaya a la página Administrar extensiones de cada colección de la Azure DevOps Server de datos:


Quite la característica De búsqueda:
- Abra la consola Azure DevOps Server administración de aplicaciones.
- En el panel izquierdo, seleccione el nombre del servidor.
- En el panel derecho, elija Quitar característica.
- En el cuadro de diálogo Quitar característica, seleccione servicio Searchy, a continuación, elija Quitar.
Quite el servicio Elasticsearch:
- Abrir el símbolo del sistema como administrador
- Cambie el directorio:
- Para TFS 2017 RTM,
cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-1.7.1-SNAPSHOT\bin" - Para TFS 2017 Update 1,
cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-2.4.1\bin" - Para TFS 2018 Update 2 y posterior, y Azure DevOps Server,
cd "C:\Program Files\Microsoft Team Foundation Server 15.0\Search\ES\elasticsearch-5.4.1\bin"
- Para TFS 2017 RTM,
- Quite el servicio:
- Para TFS 2017,
"service.bat remove" - Para TFS 2018 y Azure DevOps Server,
"elasticsearch-service.bat remove"
- Para TFS 2017,
Quitar datos de búsqueda:
- Eliminación del contenido de la ubicación descrita por la variable de entorno
SEARCH_ES_INDEX_PATH
- Eliminación del contenido de la ubicación descrita por la variable de entorno
Quitar variables de entorno:
- Eliminación de la variable de entorno
"SEARCH_ES_INDEX_PATH" - Elimine la variable de entorno (esta variable de entorno está obsoleta para
"ES_HEAP_SIZE"TFS 2018 Update 2 y versiones posteriores, y Azure DevOps Server)
- Eliminación de la variable de entorno
No configurar la búsqueda cuando se configura en un servidor independiente
Desinstale la extensión de búsqueda, como código, elemento de trabajo o wiki, para cada colección donde esté instalada. Vaya a la página Administrar extensiones de cada colección de la Azure DevOps Server aplicación.


Quite la característica De búsqueda:
- Abra el cuadro de diálogo Quitar característica, Consola de administración.
- En el panel izquierdo, seleccione el nombre de la Azure DevOps Server
- En el panel derecho, elija Quitar característica.
- En el cuadro de diálogo Quitar característica, seleccione servicio Searchy, a continuación, elija Quitar.
Quite el servicio y los datos de Elasticsearch:
- Abrir PowerShell como administrador
- Abra la carpeta Search.ps1, junto con el resto de los archivos necesarios para una instalación remota de Search.
- Vuelva a ejecutar el script con la opción remove:
- Para TFS 2017 RTM,
"Configure Search.ps1 -RemoveTFSSearch" - Para TFS 2017 Update1 y posterior, y Azure DevOps Server,
"ConfigureTFSSearch.ps1 -remove"
- Para TFS 2017 RTM,
Limitaciones de Search
La búsqueda Azure DevOps Server tiene la siguiente limitación:
- Si hace una operación de recuperación ante desastres (DR) y vuelve a mover el servidor a una instantánea anterior de la base de datos SQL, vuelva a indexar todas las colecciones.