Agentes de Windows autohospedados

Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019 | TFS 2018

Nota

El equipo de canalizaciones publica el software del agente versión 3.x, actualmente en versión preliminar. Para obtener más información, consulte Versión preliminar del software del agente 3.

Para compilar e implementar Windows, Azure y otras soluciones de Visual Studio, necesitará al menos un agente de Windows. Los agentes de Windows también pueden compilar aplicaciones de Java y Android.

Antes de empezar:

Más información sobre los agentes

Si ya sabe qué es un agente y cómo funciona, no dude en ir directamente a las secciones siguientes. Pero si desea obtener más información sobre lo que hacen y cómo funcionan, consulte Agentes de Azure Pipelines.

Comprobación de los requisitos previos

Asegúrese de que la máquina tiene estos requisitos previos:

  • Windows 7 SP1 ESU, 8.1, 10 o 11 (si se usa un sistema operativo cliente)
  • Windows 2012 o posterior (si usa un sistema operativo de servidor)
  • PowerShell 3.0 o posterior
  • .NET Framework 4.6.2 o superior

Importante

A partir de diciembre de 2019, la versión mínima necesaria de .NET para los agentes de compilación es 4.6.2 o posterior.

Se recomienda:

Si va a compilar desde un repositorio de Subversion, debe instalar el cliente de Subversion en el equipo.

Debe ejecutar la instalación del agente manualmente la primera vez. Después de hacerse una idea de cómo funcionan los agentes o si desea automatizar la configuración de muchos agentes, considere la posibilidad de usar la configuración desatendida.

Especificaciones de hardware

Las especificaciones de hardware de los agentes variarán según sus necesidades, el tamaño del equipo, etc. No es posible hacer una recomendación general que se aplicará a todos. Como punto de referencia, el equipo de Azure DevOps compila el código de agentes hospedados mediante canalizaciones que usan agentes hospedados. Por otro lado, la mayor parte del código de Azure DevOps se crea mediante máquinas de clase de servidor de 24 núcleos que ejecutan 4 agentes autohospedados.

Preparación de permisos

Seguridad de la información para agentes autohospedados

El usuario que configura el agente necesita permisos de administrador del grupo, pero el usuario que ejecuta el agente no.

Las carpetas controladas por el agente deben estar restringidas a la menor cantidad de usuarios posible y contienen secretos que se podrían descifrar o filtrar.

El agente de Azure Pipelines es un producto de software diseñado para ejecutar código que descarga de orígenes externos. De forma inherente, podría ser un destino para los ataques de ejecución remota de código (RCE).

Por lo tanto, es importante tener en cuenta el modelo de amenazas que rodea a cada uso individual de los agentes de canalizaciones para realizar el trabajo y decidir cuáles son los permisos mínimos que se pueden conceder al usuario que ejecuta el agente, a la máquina donde se ejecuta el agente, a los usuarios que tienen acceso de escritura a la definición de canalización, los repositorios git donde se almacena yaml, o el grupo de usuarios que controlan el acceso al grupo para las nuevas canalizaciones.

Es un procedimiento recomendado hacer que la identidad que ejecuta el agente sea diferente de la identidad con permisos para conectar el agente al grupo. El usuario que genera las credenciales (y otros archivos relacionados con el agente) es diferente del usuario que necesita leerlas. Por lo tanto, es más seguro considerar cuidadosamente el acceso concedido a la propia máquina del agente y las carpetas del agente que contienen archivos confidenciales, como registros y artefactos.

Tiene sentido conceder acceso a la carpeta del agente solo para los administradores de DevOps y la identidad de usuario que ejecuta el proceso del agente. Es posible que los administradores necesiten investigar el sistema de archivos para comprender los errores de compilación o obtener archivos de registro para poder notificar errores de Azure DevOps.

Decidir qué usuario va a usar

Como paso único, debe registrar el agente. Alguien con permiso para administrar la cola del agente debe completar estos pasos. El agente no usará las credenciales de esta persona en el funcionamiento diario, pero es necesario para completar el registro. Obtenga más información sobre cómo se comunican los agentes.

Autenticación con un token de acceso personal (PAT)

  1. Inicie sesión con la cuenta de usuario que planea usar en el portal web de Team Foundation Server (https://{your-server}:8080/tfs/).
  1. Inicie sesión con la cuenta de usuario que planea usar en el portal web de Azure DevOps Server (https://{your-server}/DefaultCollection/).
  1. Inicie sesión con la cuenta de usuario que planea usar en su organización de Azure DevOps (https://dev.azure.com/{your_organization}).
  1. En la página principal, abra su perfil. Vaya a los detalles de seguridad.

    Vaya a los detalles de seguridad.

  2. Cree un token de acceso personal.

    Cree un token de acceso personal.

    Nota

    Si va a configurar un agente de grupo de implementación o si ve un error al registrar un recurso de entorno de máquina virtual, debe establecer el ámbito PAT en Todas las organizaciones accesibles. Captura de pantalla de la configuración del ámbito pat en todas las organizaciones accesibles.

  1. En la página principal, abra la configuración de usuario y seleccione Tokens de acceso personal.

    Vaya a los detalles de seguridad.

  2. Cree un token de acceso personal.

    Cree un token de acceso personal.

  1. Para el ámbito , seleccione Grupos de agentes (leer, administrar) y asegúrese de que todos los demás cuadros estén desactivados. Si se trata de un agente de grupo de implementación , en el ámbito, seleccione Grupo de implementación (lectura, administración) y asegúrese de que todos los demás cuadros estén desactivados.

    Seleccione Mostrar todos los ámbitos en la parte inferior de la ventana Crear un nuevo token de acceso personal para ver la lista completa de ámbitos.

  2. Copie el token. Usará este token al configurar el agente.

Confirmación de que el usuario tiene permiso

Asegúrese de que la cuenta de usuario que va a usar tiene permiso para registrar el agente.

¿Es el usuario propietario de una organización de Azure DevOps o tfS o administrador de Azure DevOps Server? Deténgase aquí, tiene permiso.

De lo contrario:

  1. Abra un explorador y vaya a la pestaña Grupos de agentes de la organización de Azure Pipelines o Azure DevOps Server o servidor TFS:

    1. Elija Azure DevOps, Configuración de la organización.

      Elija Configuración de la organización.

    2. Elija Grupos de agentes.

      Elija la pestaña Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Elija Configuración de recopilación.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Configuración de la colección, 2019.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes, 2019.

    1. Vaya al proyecto y elija Configuración (icono de engranaje) >Colas del agente.

      Elija Configuración, Colas del agente, 2018.

    2. Elija Administrar grupos.

      Elija Administrar grupos, 2018.

  2. Seleccione el grupo en el lado derecho de la página y, a continuación, haga clic en Seguridad.

  3. Si no se muestra la cuenta de usuario que va a usar, obtenga un administrador para agregarla. El administrador puede ser un administrador del grupo de agentes, un propietario de la organización de Azure DevOps o un administrador de TFS o Azure DevOps Server.

    Si es un agente de grupo de implementación, el administrador puede ser un administrador de grupos de implementación, un propietario de la organización de Azure DevOps o un administrador de TFS o Azure DevOps Server.

    Puede agregar un usuario al rol de administrador del grupo de implementación en la pestaña Seguridad de la página Grupos de implementación de Azure Pipelines.

Nota

Si ve un mensaje similar al siguiente: Lo sentimos, no se pudo agregar la identidad. Pruebe una identidad diferente. Probablemente haya seguido los pasos anteriores para un propietario de la organización o TFS o Azure DevOps Server administrador. No necesitas hacer nada; ya tiene permiso para administrar la cola del agente.

Descarga y configuración del agente

Azure Pipelines

  1. Inicie sesión en la máquina con la cuenta para la que ha preparado los permisos, como se explicó anteriormente.

  2. En el explorador web, inicie sesión en Azure Pipelines y vaya a la pestaña Grupos de agentes:

    1. Elija Azure DevOps, Configuración de la organización.

      Elija Configuración de la organización.

    2. Elija Grupos de agentes.

      Elija la pestaña Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Elija Configuración de recopilación.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Configuración de la colección, 2019.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes, 2019.

    1. Vaya al proyecto y elija Configuración (icono de engranaje) >Colas del agente.

      Elija Configuración, Colas del agente, 2018.

    2. Elija Administrar grupos.

      Elija Administrar grupos, 2018.

  3. Seleccione el grupo predeterminado , seleccione la pestaña Agentes y elija Nuevo agente.

  4. En el cuadro de diálogo Obtener el agente , elija Windows.

  5. En el panel izquierdo, seleccione la arquitectura del procesador de la versión instalada del sistema operativo Windows en el equipo. La versión del agente x64 está pensada para Windows de 64 bits, mientras que la versión x86 está pensada para Windows de 32 bits. Si no está seguro de qué versión de Windows está instalada, siga estas instrucciones para averiguarlo.

  6. En el panel derecho, haga clic en el botón Descargar .

  7. Siga las instrucciones de la página para descargar el agente.

  8. Desempaquetar el agente en el directorio que prefiera. Asegúrese de que la ruta de acceso al directorio no contiene espacios porque las herramientas y los scripts no siempre escapan correctamente. Una carpeta recomendada es C:\agents. La extracción en la carpeta de descarga u otras carpetas de usuario puede causar problemas de permisos. A continuación, ejecute config.cmd. Esto le hará una serie de preguntas para configurar el agente.

Azure DevOps Server 2019 y Azure DevOps Server 2020

  1. Inicie sesión en la máquina con la cuenta para la que ha preparado los permisos, como se explicó anteriormente.

  2. En el explorador web, inicie sesión en Azure DevOps Server 2019 y vaya a la pestaña Grupos de agentes:

    1. Elija Azure DevOps, Configuración de la organización.

      Elija Configuración de la organización.

    2. Elija Grupos de agentes.

      Elija la pestaña Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Elija Configuración de recopilación.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Configuración de la colección, 2019.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes, 2019.

    1. Vaya al proyecto y elija Configuración (icono de engranaje) >Colas del agente.

      Elija Configuración, Colas del agente, 2018.

    2. Elija Administrar grupos.

      Elija Administrar grupos, 2018.

  3. Haga clic en Descargar agente.

  4. En el cuadro de diálogo Obtener agente , haga clic en Windows.

  5. En el panel izquierdo, seleccione la arquitectura del procesador de la versión instalada del sistema operativo Windows en el equipo. La versión del agente x64 está pensada para Windows de 64 bits, mientras que la versión x86 está pensada para Windows de 32 bits. Si no está seguro de qué versión de Windows está instalada, siga estas instrucciones para averiguarlo.

  6. En el panel derecho, haga clic en el botón Descargar .

  7. Siga las instrucciones de la página para descargar el agente.

  8. Desempaquetar el agente en el directorio que prefiera. Asegúrese de que la ruta de acceso al directorio no contiene espacios porque las herramientas y los scripts no siempre escapan correctamente. Una carpeta recomendada es C:\agents. La extracción en la carpeta de descarga u otras carpetas de usuario puede causar problemas de permisos. A continuación, ejecute config.cmd. Esto le hará una serie de preguntas para configurar el agente.

TFS 2018

  1. Inicie sesión en la máquina con la cuenta para la que ha preparado los permisos, como se explicó anteriormente.

  2. En el explorador web, inicie sesión en TFS y vaya a la pestaña Grupos de agentes :

    1. Vaya al proyecto y elija Configuración (icono de engranaje) >Colas del agente.

      Elija Configuración, Colas del agente, 2018.

    2. Elija Administrar grupos.

      Elija Administrar grupos, 2018.

  3. Haga clic en Descargar agente.

  4. En el cuadro de diálogo Obtener agente , haga clic en Windows.

  5. Haga clic en el botón Descargar .

  6. Siga las instrucciones de la página para descargar el agente.

  7. Desempaquetar el agente en el directorio que prefiera. Asegúrese de que la ruta de acceso al directorio no contiene espacios porque las herramientas y los scripts no siempre escapan correctamente. Una carpeta recomendada es C:\agents. La extracción en la carpeta de descarga u otras carpetas de usuario puede causar problemas de permisos. A continuación, ejecute config.cmd.

Importante

Se recomienda encarecidamente configurar el agente desde una ventana de PowerShell con privilegios elevados. Si desea configurar como servicio, se requiere.

No debe usar Windows PowerShell ISE para configurar el agente.

Importante

Por motivos de seguridad, se recomienda encarecidamente asegurarse de que los administradores solo pueden editar la carpeta de agentes (C:\agents).

Nota

Evite usar shells basados en mintty, como git-bash, para la configuración del agente. Mintty no es totalmente compatible con la API nativa de Windows de entrada y salida (aquí hay información sobre él) y no hemos podido garantizar el trabajo correcto del script de configuración en este caso.

Dirección URL del servidor y autenticación

Cuando el programa de instalación solicite la dirección URL del servidor, responda Azure DevOps Services.https://dev.azure.com/{your-organization}

Cuando el programa de instalación solicita la dirección URL del servidor, para TFS, responda https://{your_server}/tfsa .

Cuando el programa de instalación solicite el tipo de autenticación, elija PAT. A continuación, pegue el token de PAT que creó en la ventana del símbolo del sistema.

Nota

Cuando se usa PAT como método de autenticación, el token de PAT solo se usa durante la configuración inicial del agente. Más adelante, si el PAT expira o debe renovarse, el agente no requiere más cambios.

Importante

Asegúrese de que el servidor está configurado para admitir el método de autenticación que desea usar.

Al configurar el agente para conectarse a TFS, tiene las siguientes opciones:

  • Alternativo Conéctese a TFS mediante la autenticación básica. Después de seleccionar Alternativo, se le pedirán sus credenciales.

  • Negociar Conéctese a TFS como un usuario distinto del usuario que haya iniciado sesión a través de un esquema de autenticación de Windows como NTLM o Kerberos. Después de seleccionar Negociar, se le pedirán las credenciales.

  • Integrado (predeterminado) Conecte un agente de Windows a TFS con las credenciales del usuario que ha iniciado sesión a través de un esquema de autenticación de Windows como NTLM o Kerberos. No se le pedirán credenciales después de elegir este método.

  • PALMADITA Solo se admite en Azure Pipelines y TFS 2017 y versiones posteriores. Después de elegir PAT, pegue el token de PAT que creó en la ventana del símbolo del sistema. Use un token de acceso personal (PAT) si la instancia de TFS y la máquina del agente no están en un dominio de confianza. La autenticación pat se controla mediante la instancia de TFS en lugar del controlador de dominio.

Nota

Cuando se usa PAT como método de autenticación, el token de PAT solo se usa para la configuración inicial del agente. Si es necesario volver a generar el PAT, no se necesitan más cambios en el agente.

Obtenga más información en Comunicación con Azure Pipelines o TFS.

Elección del modo interactivo o de servicio

Para obtener instrucciones sobre si ejecutar el agente en modo interactivo o como servicio, consulte Agentes: interactivos frente a servicios.

Si decide ejecutarse como servicio (lo que se recomienda), el nombre de usuario que ejecute como debe ser de 20 caracteres o menos.

Ejecución del agente

Ejecutar de forma interactiva

Si ha configurado el agente para que se ejecute de forma interactiva, para ejecutarlo:

.\run.cmd

Para reiniciar el agente, presione Ctrl+C para detener el agente y, a continuación, ejecute run.cmd para reiniciarlo.

Ejecutar una vez

Para que los agentes configurados se ejecuten de forma interactiva, puede elegir que el agente acepte solo un trabajo. Para ejecutarse en esta configuración:

.\run.cmd --once

Los agentes de este modo solo aceptarán un trabajo y, a continuación, se activarán correctamente (útiles para ejecutarse en Docker en un servicio como Azure Container Instances).

Ejecución como servicio

Si ha configurado el agente para que se ejecute como un servicio, se inicia automáticamente. Puede ver y controlar el estado de ejecución del agente desde el complemento de servicios. Ejecute services.msc y busque una de las siguientes:

  • "Agente de Azure Pipelines (nombre del agente)".
  • "Agente de VSTS (nombre del agente)".
  • "vstsagent. (nombre de la organización). (nombre del agente)".

Para reiniciar el agente, haga clic con el botón derecho en la entrada y elija Reiniciar.

Nota

Si necesita cambiar la cuenta de inicio de sesión del agente, no lo haga desde el complemento Servicios. En su lugar, consulte la información siguiente para volver a configurar el agente.

Para usar el agente, ejecute un trabajo mediante el grupo del agente. Si no ha elegido un grupo diferente, el agente estará en el grupo predeterminado .

Reemplazar un agente

Para reemplazar un agente, siga los pasos Descargar y configurar el agente de nuevo.

Al configurar un agente con el mismo nombre que un agente que ya existe, se le pregunta si desea reemplazar el agente existente. Si responde Y, asegúrese de quitar el agente (consulte a continuación) que va a reemplazar. De lo contrario, después de unos minutos de conflictos, uno de los agentes se apagará.

Quitar y volver a configurar un agente

Para eliminar el agente:

.\config remove

Después de quitar el agente, puede configurarlo de nuevo.

Configuración desatendida

El agente se puede configurar desde un script sin intervención humana. Debe pasar --unattended y las respuestas a todas las preguntas.

Para configurar un agente, debe conocer la dirección URL de la organización o la recopilación y las credenciales de alguien autorizado para configurar agentes. Todas las demás respuestas son opcionales. Cualquier parámetro de línea de comandos se puede especificar mediante una variable de entorno en su lugar: coloque su nombre en mayúsculas y anteponga VSTS_AGENT_INPUT_. Por ejemplo, VSTS_AGENT_INPUT_PASSWORD en lugar de especificar --password.

Opciones necesarias

  • --unattended : la configuración del agente no solicitará información y se deben proporcionar todas las configuraciones en la línea de comandos.
  • --url <url> - Dirección URL del servidor. Por ejemplo, https://dev.azure.com/myorganization o http://my-azure-devops-server:8080/tfs.
  • --auth <type> - tipo de autenticación. Los valores válidos son:
    • pat(Token de acceso personal): PAT es el único esquema que funciona con Azure DevOps Services.
    • negotiate (Kerberos o NTLM)
    • alt (Autenticación básica)
    • integrated (Credenciales predeterminadas de Windows)

Opciones de autenticación

  • Si eligió --auth pat:
    • --token <token> : especifica el token de acceso personal.
    • PAT es el único esquema que funciona con Azure DevOps Services.
  • Si eligió --auth negotiate o --auth alt:
    • --userName <userName> : especifica un nombre de usuario de Windows en el formato domain\userName o userName@domain.com
    • --password <password> : especifica una contraseña.

Nombres de grupo y agente

  • --pool <pool> : nombre del grupo al que se va a unir el agente.
  • --agent <agent> - nombre del agente
  • --replace : reemplace el agente de un grupo. Si otro agente escucha con el mismo nombre, comenzará a generar un error con un conflicto.

Configuración del agente

  • --work <workDirectory> : directorio de trabajo donde se almacenan los datos del trabajo. El valor predeterminado es _work en la raíz del directorio del agente. El directorio de trabajo es propiedad de un agente determinado y no debe compartirse entre varios agentes.
  • --acceptTeeEula: acepte el contrato de licencia de usuario final de Team Explorer Everywhere (solo macOS y Linux)
  • --disableloguploads : no transmita ni envíe la salida del registro de consola al servidor. En su lugar, puede recuperarlos del sistema de archivos del host del agente una vez completado el trabajo.

Inicio solo de Windows

  • --runAsService : configure el agente para que se ejecute como un servicio de Windows (requiere el permiso de administrador)
  • --runAsAutoLogon : configure el inicio de sesión automático y ejecute el agente al iniciarse (requiere permiso de administrador)
  • --windowsLogonAccount <account> : se usa con --runAsService o --runAsAutoLogon para especificar el nombre de usuario de Windows en el formato domain\userName o userName@domain.com
  • --windowsLogonPassword <password> : se usa con --runAsService o --runAsAutoLogon para especificar la contraseña de inicio de sesión de Windows (no es necesario para las cuentas de servicio administradas de grupo y las cuentas integradas de Windows, como "NT AUTHORITY\NETWORK SERVICE")
  • --overwriteAutoLogon : se usa con --runAsAutoLogon para sobrescribir el inicio de sesión automático existente en la máquina.
  • --noRestart : se usa con --runAsAutoLogon para impedir que el host se reinicie una vez completada la configuración del agente.

Solución de problemas de configuración del agente con la runAsAutoLogon opción

La configuración del agente con la runAsAutoLogon opción ejecuta el agente cada vez después de reiniciar la máquina. Realice los pasos siguientes si el agente no se ejecuta después de reiniciar la máquina.

Si el agente ya estaba configurado en el equipo

Antes de volver a configurar el agente, es necesario quitar la configuración del agente anterior, por lo que intente ejecutar este comando desde la carpeta del agente:

.\config.cmd remove --auth 'PAT' --token '<token>'

Compruebe si el agente se quitó del grupo de agentes después de ejecutar el comando:

<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents

Quite el agente del grupo de agentes manualmente si no se quitó ejecutando el comando .

A continuación, intente volver a configurar el agente ejecutando este comando desde la carpeta del agente:

.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'

Especifique el nombre del agente (cualquier nombre único específico) y compruebe si este agente apareció en el grupo de agentes después de volver a configurarlo.

Será mucho mejor desempaquetar un archivo de agente (que se puede descargar aquí) y ejecutar este comando desde la nueva carpeta del agente desempaquetado.

Compruebe si la clave del Registro de Windows se registra y se guarda correctamente.

Ejecute el whoami /user comando para obtener .<sid> Abra Registry Editor y siga la ruta de acceso:

Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Compruebe si hay la VSTSAgent clave. Elimine esta clave si existe, cierre Registry Editor y configure el agente ejecutando el .\config.cmd comando (sin argumentos) desde la carpeta del agente. Antes de responder a la pregunta Enter Restart the machine at a later time?, vuelva a abrir Registry Editor y compruebe si ha aparecido la VSTSAgent clave. Presione Enter para responder a la pregunta y compruebe si la VSTSAgent tecla permanece en su lugar después de reiniciar la máquina.

Compruebe si las claves del Registro de Windows funcionan correctamente en la máquina.

Cree un autorun.cmd archivo que contenga la línea siguiente: echo "Hello from AutoRun!". Abra Registry Editor y cree en la ruta de acceso anterior a un nuevo par clave-valor con la clave AutoRun y el valor.

C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"

Reinicie el equipo. Si no ve una ventana de consola con el mensaje, tiene un problema con las claves del Hello from AutoRun! Registro de Windows.

Solo grupo de implementación

  • --deploymentGroup : configure el agente como agente de grupo de implementación.
  • --deploymentGroupName <name> : se usa con --deploymentGroup para especificar el grupo de implementación para que el agente se una
  • --projectName <name> : se usa con --deploymentGroup para establecer el nombre del proyecto.
  • --addDeploymentGroupTags : se usa con --deploymentGroup para indicar que se deben agregar etiquetas de grupo de implementación.
  • --deploymentGroupTags <tags> : se usa con --addDeploymentGroupTags para especificar la lista separada por comas de etiquetas para el agente de grupo de implementación; por ejemplo, "web, db"

Solo entornos

  • --addvirtualmachineresourcetags : se usa para indicar que se deben agregar etiquetas de recursos de entorno.
  • --virtualmachineresourcetags <tags> : se usa con --addvirtualmachineresourcetags para especificar la lista separada por comas de etiquetas para el agente de recursos del entorno; por ejemplo, "web, db"

.\config --help siempre muestra las respuestas necesarias y opcionales más recientes.

Diagnóstico

Si tiene problemas con el agente autohospedado, puede intentar ejecutar diagnósticos. Después de configurar el agente:

.\run --diagnostics

Esto se ejecutará a través de un conjunto de diagnósticos que puede ayudarle a solucionar el problema. La característica de diagnóstico está disponible a partir de la versión 2.165.0 del agente.

Ayuda sobre otras opciones

Para obtener información sobre otras opciones:

.\config --help

La ayuda proporciona información sobre las alternativas de autenticación y la configuración desatendida.

Funcionalidades

Las funcionalidades del agente se catalogan y anuncian en el grupo para que solo se asignen las compilaciones y versiones que pueda controlar. Consulte Funcionalidades del agente de compilación y versión.

En muchos casos, después de implementar un agente, deberá instalar software o utilidades. Por lo general, debe instalar en los agentes cualquier software y herramientas que use en la máquina de desarrollo.

Por ejemplo, si la compilación incluye la tarea npm, la compilación no se ejecutará a menos que haya un agente de compilación en el grupo que tenga npm instalado.

Importante

Las funcionalidades incluyen todas las variables de entorno y los valores que se establecen cuando se ejecuta el agente. Si alguno de estos valores cambia mientras se ejecuta el agente, el agente debe reiniciarse para recoger los nuevos valores. Después de instalar nuevo software en un agente, debe reiniciar el agente para que la nueva funcionalidad se muestre en el grupo, de modo que se pueda ejecutar la compilación.

Si desea excluir variables de entorno como funcionalidades, puede designarlas estableciendo una variable VSO_AGENT_IGNORE de entorno con una lista delimitada por comas de variables que se omitirán.

Preguntas más frecuentes

Cómo asegúrese de que tengo la versión más reciente del agente v2?

  1. Vaya a la pestaña Grupos de agentes :

    1. Elija Azure DevOps, Configuración de la organización.

      Elija Configuración de la organización.

    2. Elija Grupos de agentes.

      Elija la pestaña Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Elija Configuración de recopilación.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes.

    1. Elija Azure DevOps, Configuración de recopilación.

      Configuración de la colección, 2019.

    2. Elija Grupos de agentes.

      Elija Grupos de agentes, 2019.

    1. Vaya al proyecto y elija Configuración (icono de engranaje) >Colas del agente.

      Elija Configuración, Colas del agente, 2018.

    2. Elija Administrar grupos.

      Elija Administrar grupos, 2018.

  2. Haga clic en el grupo que contiene el agente.

  3. Asegúrese de que el agente está habilitado.

  4. Vaya a la pestaña Funcionalidades:

    1. En la pestaña Grupos de agentes, seleccione el grupo de agentes deseado.

      En Grupos de agentes, seleccione el grupo de agentes deseado.

    2. Seleccione Agentes y elija el agente deseado.

      Seleccione Agentes y elija el agente.

    3. Elija la pestaña Capacidades .

      Elija la pestaña Capacidades.

      Nota

      Los agentes hospedados por Microsoft no muestran las funcionalidades del sistema. Para obtener una lista de software instalado en agentes hospedados por Microsoft, consulte Uso de un agente hospedado por Microsoft.

    1. En la pestaña Grupos de agentes, seleccione el grupo deseado.

      Seleccione el grupo deseado.

    2. Seleccione Agentes y elija el agente deseado.

      Seleccione Agentes y elija el agente deseado.

    3. Elija la pestaña Capacidades .

      Pestaña Funcionalidades del agente.

    1. En la pestaña Grupos de agentes, seleccione el grupo deseado.

      Seleccione la pestaña deseada, 2019.

    2. Seleccione Agentes y elija el agente deseado.

      Elija el agente deseado, 2019.

    3. Elija la pestaña Capacidades .

      Elija la pestaña Capacidades, 2019.

    Seleccione el agente deseado y elija la pestaña Capacidades .

    Pestaña Funcionalidades del agente, 2018.

  5. Busque la Agent.Version funcionalidad. Puede comprobar este valor con la versión más reciente del agente publicado. Consulte Agente de Azure Pipelines y compruebe la página para ver el número de versión más alto enumerado.

  6. Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y seleccione Actualizar todos los agentes.

¿Puedo actualizar mis agentes v2 que forman parte de un grupo de Azure DevOps Server?

Sí. A partir de Azure DevOps Server 2019, puede configurar el servidor para buscar los archivos de paquete del agente en un disco local. Esta configuración invalidará la versión predeterminada que se incluye con el servidor en el momento de su lanzamiento. Este escenario también se aplica cuando el servidor no tiene acceso a Internet.

  1. Desde un equipo con acceso a Internet, descargue la versión más reciente de los archivos de paquete del agente (en .zip o formulario .tar.gz) desde la página Versiones de GitHub del agente de Azure Pipelines.

  2. Transfiera los archivos de paquete descargados a cada Azure DevOps Server nivel de aplicación mediante un método de su elección (como la unidad USB, la transferencia de red, etc.). Coloque los archivos del agente en la %ProgramData%\Microsoft\Azure DevOps\Agents carpeta .

  3. ¡Estás listo! El Azure DevOps Server ahora usará los archivos locales cada vez que se actualicen los agentes. Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Pero si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y, a continuación, elija Actualizar todos los agentes.

Estoy ejecutando un firewall y mi código está en Azure Repos. ¿Con qué direcciones URL necesita comunicarse el agente?

Si está ejecutando un agente en una red segura detrás de un firewall, asegúrese de que el agente puede iniciar la comunicación con las siguientes direcciones URL y direcciones IP.

URL de dominio Descripción
https://{organization_name}.pkgs.visualstudio.com API de empaquetado de Azure DevOps para organizaciones que usan el {organization_name}.visualstudio.com dominio
https://{organization_name}.visualstudio.com Para las organizaciones que usan el {organization_name}.visualstudio.com dominio
https://{organization_name}.vsblob.visualstudio.com Telemetría de Azure DevOps para organizaciones que usan el {organization_name}.visualstudio.com dominio
https://{organization_name}.vsrm.visualstudio.com Release Management Services para organizaciones que usan el {organization_name}.visualstudio.com dominio
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services para organizaciones que usan el {organization_name}.visualstudio.com dominio
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services para organizaciones que usan el {organization_name}.visualstudio.com dominio
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Para las organizaciones que usan el dev.azure.com dominio
https://*.vsassets.io Azure Artifacts a través de CDN
https://*.vsblob.visualstudio.com Telemetría de Azure DevOps para organizaciones que usan el dev.azure.com dominio
https://*.vssps.visualstudio.com Azure DevOps Platform Services para organizaciones que usan el dev.azure.com dominio
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services para organizaciones que usan el dev.azure.com dominio
https://app.vssps.visualstudio.com Para las organizaciones que usan el {organization_name}.visualstudio.com dominio
https://dev.azure.com Para las organizaciones que usan el dev.azure.com dominio
https://login.microsoftonline.com Inicio de sesión de Azure Active Directory
https://management.core.windows.net API de Administración de Azure
https://vstsagentpackage.azureedge.net Paquete del agente

Para asegurarse de que su organización funciona con cualquier firewall o restricciones de IP existentes, asegúrese de que dev.azure.com y *dev.azure.com estén abiertos y actualicen las direcciones IP permitidas para incluir las siguientes direcciones IP, en función de la versión de IP. Si actualmente está en la lista de permitidos las 13.107.6.183 direcciones IP y 13.107.9.183 , déjelas en su lugar, ya que no es necesario quitarlas.

Intervalos IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Intervalos IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Nota

Para obtener más información sobre las direcciones permitidas, vea Listas de direcciones permitidas y conexiones de red.

Cómo ejecutar el agente con certificado autofirmado?

Ejecución del agente con certificado autofirmado

Cómo ejecutar el agente detrás de un proxy web?

Ejecución del agente detrás de un proxy web

Cómo reiniciar el agente

Si ejecuta el agente de forma interactiva, consulte las instrucciones de reinicio en Ejecutar de forma interactiva. Si está ejecutando el agente como servicio, reinicie el agente siguiendo los pasos descritos en Ejecución como servicio.

Cómo establecer diferentes variables de entorno para cada agente individual?

Cree un .env archivo en el directorio raíz del agente y coloque las variables de entorno que desea establecer en el archivo con el siguiente formato:

MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4

Cómo configurar el agente para omitir un proxy web y conectarse a Azure Pipelines?

Si desea que el agente omita el proxy y conéctese directamente a Azure Pipelines, debe configurar el proxy web para permitir que el agente acceda a las siguientes direcciones URL.

Para las organizaciones que usan el *.visualstudio.com dominio:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

Para las organizaciones que usan el dev.azure.com dominio:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Para asegurarse de que su organización funciona con cualquier firewall o restricciones de IP existentes, asegúrese de que dev.azure.com y *dev.azure.com estén abiertos y actualicen las direcciones IP permitidas para incluir las siguientes direcciones IP, en función de la versión de IP. Si actualmente está en la lista de permitidos las 13.107.6.183 direcciones IP y 13.107.9.183 , déjelas en su lugar, ya que no es necesario quitarlas.

Intervalos IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Intervalos IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Nota

Este procedimiento permite al agente omitir un proxy web. La canalización de compilación y los scripts deben seguir controlando el proxy web para cada tarea y herramienta que ejecute en la compilación.

Por ejemplo, si usa una tarea de NuGet, debe configurar el proxy web para admitir la omisión de la dirección URL del servidor que hospeda la fuente de NuGet que usa.

Estoy usando TFS y las direcciones URL de las secciones anteriores no funcionan para mí. ¿Dónde puedo obtener ayuda?

Seguridad y configuración del sitio web

Utilizo TFS en el entorno local y no veo algunas de estas características. ¿Por qué no?

Algunas de estas características solo están disponibles en Azure Pipelines y todavía no lo están en el entorno local. Algunas características están disponibles en el entorno local si ha actualizado a la versión más reciente de TFS.