Agentes de Azure Pipelines

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Nota

En Microsoft Team Foundation Server (TFS) 2018 y versiones anteriores, las canalizaciones de compilación y versión se denominan definiciones, las ejecuciones se denominan compilaciones, las conexiones de servicio se denominan puntos de conexión de servicio, las fases se denominan entornos y los trabajos se denominan fases.

Para compilar el código o implementar el software mediante Azure Pipelines, necesita al menos un agente. A medida que se agregan más código y personas, se van a necesitar más.

Cuando se ejecuta la canalización, el sistema comienza uno o varios trabajos. Un agente está computando la infraestructura con software de agente instalado que ejecuta un trabajo a la vez.

Agentes hospedado por Microsoft

Si las canalizaciones están Azure Pipelines, tiene una opción práctica para ejecutar los trabajos mediante un agente hospedado por Microsoft. Si se usan agentes hospedados por Microsoft, las actualizaciones y el mantenimiento se realizarán automáticamente. Cada vez que ejecuta una canalización, obtiene una máquina virtual nueva para cada trabajo de la canalización. La máquina virtual se descarta después de un trabajo. Los agentes hospedados por Microsoft pueden ejecutar trabajos directamente en la máquina virtual o en un contenedor.

Azure Pipelines proporciona un grupo de agentes predefinido denominado Azure Pipelines con agentes hospedados por Microsoft.

Para muchos equipos, esta es la manera más sencilla de ejecutar los trabajos. Puede probarlo en primer lugar y ver si funciona para la compilación o la implementación. Si no funciona, puede usar un agente autohospedado.

Sugerencia

Puede probar un agente hospedado por Microsoft sin cargo alguno.

Obtenga más información sobre los agentes hospedados por Microsoft.

Agentes autohospedados

Un agente que configure y administre por su cuenta para ejecutar trabajos es un agente auto hospedado. Puede usar agentes auto hospedados en Azure Pipelines o Azure DevOps Server, anteriormente denominado Team Foundation Server (TFS). Los agentes auto-hospedados le dan más control para instalar el software dependiente necesario para las compilaciones e implementaciones. Además, las cachés de nivel de máquina y la configuración se conservan de la ejecución a la ejecución, lo que puede aumentar la velocidad.

Nota

Aunque se pueden instalar varios agentes por máquina, se recomienda encarecidamente instalar solo un agente por máquina. La instalación de dos o más agentes puede afectar negativamente al rendimiento y al resultado de las canalizaciones.

Sugerencia

Antes de instalar un agente auto hospedado, es posible que quiera ver si un grupo de agentes hospedado por Microsoft funcionará automáticamente. En muchos casos, esta es la manera más sencilla de empezar. Pruébalo.

Puede instalar el agente en máquinas Linux, macOS o Windows. También puede instalar un agente en un contenedor de Docker. Para obtener más información sobre cómo instalar un agente auto-hospedado, vea:

Puede instalar el agente en máquinas Linux, macOS o Windows. Para obtener más información sobre cómo instalar un agente auto-hospedado, vea:

Nota

En macOS, debe borrar el atributo especial en el archivo de descarga para evitar que la protección de Gatekeeper se muestre para cada ensamblado del archivo tar cuando ./config.sh se ejecuta. El comando siguiente borra el atributo extendido en el archivo:

xattr -c vsts-agent-osx-x64-V.v.v.tar.gz  ## replace V.v.v with the version in the filename downloaded.

# then unpack the gzip tar file normally:

tar xvfz vsts-agent-osx-x64-V.v.v.tar.gz

Después de instalar el agente en una máquina, puede instalar cualquier otro software en esa máquina según lo requieran los trabajos.

Nota

Los agentes son ampliamente compatibles con versiones anteriores. Cualquier versión del agente debe ser compatible con cualquier versión Azure DevOps siempre que Azure DevOps no exija una versión superior del agente.

Solo se admite la versión más reciente del agente, ya que es la única versión que se garantiza que tiene todas las revisiones y correcciones de errores actualizadas.

Agentes de conjunto de escalado de máquinas virtuales de Azure

Los agentes de conjunto de escalado de máquinas virtuales de Azure son una forma de agentes auto-hospedados que se pueden escalar automáticamente para satisfacer sus demandas. Esta elasticidad reduce la necesidad de ejecutar agentes dedicados todo el tiempo. A diferencia de los agentes hospedados por Microsoft, tiene flexibilidad sobre el tamaño y la imagen de las máquinas en las que se ejecutan los agentes.

Especifique un conjunto de escalado de máquinas virtuales, varios agentes para mantenerse en espera, un número máximo de máquinas virtuales en el conjunto de escalado y Azure Pipelines administre el escalado de los agentes de forma automática.

Para más información, consulte Agentes de conjunto de escalado de máquinas virtuales de Azure.

Trabajos paralelos

Los trabajos paralelos representan el número de trabajos que puede ejecutar al mismo tiempo en su organización. Si su organización tiene un único trabajo paralelo, puede ejecutar un único trabajo a la vez en la organización, con cualquier trabajo simultáneo adicional en cola hasta que se complete el primer trabajo. Para ejecutar dos trabajos al mismo tiempo, necesita dos trabajos paralelos. En Azure Pipelines, puede ejecutar trabajos paralelos en la infraestructura hospedada por Microsoft o en su propia infraestructura (auto hospedada).

Microsoft proporciona un nivel de servicio gratuito de forma predeterminada en todas las organizaciones que incluyan al menos un trabajo paralelo. Según el número de canalizaciones simultáneas que necesite ejecutar, es posible que necesite más trabajos paralelos para usar varios agentes hospedados por Microsoft o auto hospedados al mismo tiempo. Para obtener más información sobre los trabajos paralelos y los distintos niveles gratuitos de servicio, consulte Trabajos paralelos en Azure Pipelines.

Es posible que necesite más trabajos paralelos para usar varios agentes al mismo tiempo:

Importante

A partir Azure DevOps Server 2019, no es necesario pagar por trabajos simultáneos auto hospedados en versiones. Solo está limitado por el número de agentes que tiene.

Capacidades

Cada agente auto-hospedado tiene un conjunto de funcionalidades que indican lo que puede hacer. Las funcionalidades son pares nombre-valor que el software del agente detecta automáticamente, en cuyo caso se denominan funcionalidades del sistema o las que se definen, en cuyo caso se denominan funcionalidades de usuario.

El software del agente determina automáticamente varias funcionalidades del sistema, como el nombre de la máquina, el tipo de sistema operativo y las versiones de cierto software instalado en la máquina. Además, las variables de entorno definidas en la máquina aparecen automáticamente en la lista de funcionalidades del sistema.

Nota

Almacenar variables de entorno como funcionalidades significa que cuando se ejecuta un agente, se usan los valores de funcionalidad almacenados para establecer las variables de entorno. Además, ninguna tarea seleccionará ni usará los cambios en las variables de entorno que se realicen mientras se ejecuta el agente. Si tiene variables de entorno confidenciales que cambian y no quiere que se almacenen como funcionalidades, puede hacer que se omitan estableciendo la variable de entorno, con una lista delimitada por comas de variables que se VSO_AGENT_IGNORE omitirán. Por ejemplo, PATH es una variable crítica que es posible que quiera omitir si va a instalar software.

Al crear una canalización, se especifican ciertas demandas del agente. El sistema envía el trabajo solo a los agentes que tienen funcionalidades que coinciden con las demandas especificadas en la canalización. Como resultado, las funcionalidades del agente permiten dirigir trabajos a agentes específicos.

Nota

Las demandas y funcionalidades están diseñadas para su uso con agentes auto hospedados para que los trabajos puedan coincidir con un agente que cumpla los requisitos del trabajo. Cuando se usan agentes hospedados por Microsoft, se selecciona una imagen para el agente que cumple los requisitos del trabajo, por lo que aunque es posible agregar funcionalidades a un agente hospedado por Microsoft, no es necesario usar funcionalidades con agentes hospedados por Microsoft.

Configuración de las funcionalidades del agente

Puede ver los detalles de un agente, incluidas sus funcionalidades de versión y sistema, y administrar sus funcionalidades de usuario; para ello, vaya a Grupos de agentes y seleccione la pestaña Funcionalidades del agente deseado.

  1. En el explorador web, vaya a Grupos de agentes:

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

      Choose Organization settings.

    2. Elija Grupos de agentes.

      Choose Agent pools tab.

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

      Choose Collection settings.

    2. Elija Grupos de agentes.

      Choose Agent pools.

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

      Collection settings, 2019.

    2. Elija Grupos de agentes.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Elija Administrar grupos.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Elija Administrar grupos.

      Choose Manage pools, 2017.

    1. Vaya al proyecto y elija Administrar proyecto (icono de engranaje).

      Manage project, 2015.

    2. Elija Panel de control.

      Choose Control panel, 2015.

    3. Seleccione Grupos de agentes.

      Select Agent pools, 2015.

  2. Vaya a la pestaña funcionalidades:

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

      From Agent pools, select the desired agent pool.

    2. Seleccione Agentes y elija el agente deseado.

      Select Agents and choose the agent.

    3. Elija la pestaña Funcionalidades.

      Choose the Capabilities tab.

      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.

      Select the desired pool.

    2. Seleccione Agentes y elija el agente deseado.

      Select Agents and choose the desired agent.

    3. Elija la pestaña Funcionalidades.

      Agent capabilities tab.

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

      Select the desired tab, 2019.

    2. Seleccione Agentes y elija el agente deseado.

      Choose the desired agent, 2019.

    3. Elija la pestaña Funcionalidades.

      Choose the Capabilities tab, 2019.

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

    Agent capabilities tab, 2018.

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

    Agent capabilities tab, 2017.

    En la pestaña Grupos de agentes, seleccione el agente deseado y elija la pestaña Funcionalidades.

    Choose the Agent capabilities tab, 2015.

  3. Para registrar una nueva funcionalidad con el agente, elija Agregar una nueva funcionalidad.

Sugerencia

Después de instalar el nuevo software en un agente auto-hospedado, debe reiniciar el agente para que se muestre la nueva funcionalidad. Para obtener más información, vea Restart Windows agent, Restart Linux agenty Restart Mac agent.

Comunicación

Comunicación con Azure Pipelines

Comunicación con TFS

El agente se comunica con Azure Pipelines o Azure DevOps Server para determinar qué trabajo debe ejecutar y para notificar los registros y el estado del trabajo. El agente siempre inicia esta comunicación. Todos los mensajes del agente a Azure Pipelines o Azure DevOps Server se pueden producir a través de HTTP o HTTPS, en función de cómo configure el agente. Este modelo de extracción permite configurar el agente en topologías diferentes, como se muestra a continuación.

Agent topologies in on-premises installations.

Agent topologies in Azure DevOps Services.

Este es un patrón de comunicación común entre el agente y Azure Pipelines o Azure DevOps Server.

  1. El usuario registra un agente con Azure Pipelines o Azure DevOps Server agregando a un grupo de agentes. Debe ser administrador del grupo de agentes para registrar un agente en ese grupo de agentes. La identidad del administrador del grupo de agentes solo es necesaria en el momento del registro y no se conserva en el agente, ni se usa en ninguna comunicación adicional entre el agente y Azure Pipelines o Azure DevOps Server. Una vez completado el registro, el agente descarga un token de OAuth del agente de escucha y lo usa para escuchar la cola de trabajos.

  2. El agente escucha para ver si se ha publicado una nueva solicitud de trabajo para ella en la cola de trabajos de Azure Pipelines/Azure DevOps Server mediante un sondeo largo HTTP. Cuando hay un trabajo disponible, el agente descarga el trabajo, así como un token de OAuth específico del trabajo. Este token se genera mediante Azure Pipelines/Azure DevOps Server para la identidad con ámbito especificada en la canalización. Ese token es de corta duración y lo usa el agente para acceder a recursos (por ejemplo, código fuente) o modificar recursos (por ejemplo, cargar resultados de pruebas) en Azure Pipelines o Azure DevOps Server dentro de ese trabajo.

  3. Una vez completado el trabajo, el agente descarta el token de OAuth específico del trabajo y vuelve a comprobar si hay una nueva solicitud de trabajo mediante el token de OAuth del agente de escucha.

La carga útil de los mensajes intercambiados entre el agente y Azure Pipelines/Azure DevOps Server se protegen mediante cifrado asimétrico. Cada agente tiene un par de claves pública y privada y la clave pública se intercambia con el servidor durante el registro. El servidor usa la clave pública para cifrar la carga del trabajo antes de enviarla al agente. El agente descifra el contenido del trabajo mediante su clave privada. Así es como se protegen los secretos almacenados en canalizaciones o grupos de variables a medida que se intercambian con el agente.

Este es un patrón de comunicación común entre el agente y TFS.

  • Un administrador del grupo de agentes une el agente a un grupo de agentes y las credenciales de la cuenta de servicio (para Windows) o el nombre de usuario y la contraseña guardados (para Linux y macOS) se usan para iniciar la comunicación con TFS. El agente usa estas credenciales para escuchar la cola de trabajos.

  • El agente no usa el cifrado de claves asimétricas mientras se comunica con el servidor. Sin embargo, puede usar HTTPS para proteger la comunicación entre el agente y TFS.

Comunicación para implementar en servidores de destino

Cuando se usa el agente para implementar artefactos en un conjunto de servidores, debe tener conectividad de "línea de visión" con esos servidores. De forma predeterminada, los grupos de agentes hospedados por Microsoft tienen conectividad con los sitios web y servidores de Azure que se ejecutan en Azure.

Nota

Si los recursos de Azure se ejecutan en una instancia de Azure Virtual Network, puede obtener los intervalos IP del agente donde se implementan los agentes hospedados por Microsoft para que pueda configurar las reglas de firewall de la red virtual de Azure para permitir el acceso por parte del agente.

Si los entornos locales no tienen conectividad con un grupo de agentes hospedado por Microsoft (que suele ser el caso debido a firewalls intermedios), deberá configurar manualmente un agente auto-hospedado en equipos locales. Los agentes deben tener conectividad a los entornos locales de destino y acceso a Internet para conectarse a Azure Pipelines o Team Foundation Server, como se muestra en el esquema siguiente.

Agent connectivity for on-premises environments

Autenticación

Para registrar un agente, debe ser miembro del rol de administrador en el grupo de agentes. La identidad del administrador del grupo de agentes solo es necesaria en el momento del registro y no se conserva en el agente, y no se usa en ninguna comunicación posterior entre el agente y Azure Pipelines o Azure DevOps Server. Además, debe ser un administrador local en el servidor para configurar el agente.

El agente puede autenticarse para Azure Pipelines mediante el método siguiente:

El agente puede autenticarse en Azure DevOps Server o TFS mediante uno de los métodos siguientes:

Token de acceso personal (PAT):

Genere y use un PAT para conectar un agente con Azure Pipelines o TFS 2017 y versiones más recientes. PAT es el único esquema que funciona con Azure Pipelines. El PAT debe tener un ámbito de grupos de agentes (lectura, administración) (para un agente de grupo de implementación, el PAT debe tener ámbito de grupo de implementación (lectura, administración) y, aunque se puede usar un solo PAT para registrar varios agentes, el PAT solo se usa en el momento de registrar el agente y no para la comunicación posterior. Para más información, consulte la sección Autenticación con un token de acceso personal (PAT) en los artículos sobreagentes auto-hospedados de Windows, Linuxo macOS.

Para usar un PAT con Azure DevOps Server, el servidor debe configurarse con HTTPS. Consulte Configuración y seguridad del sitio web.

Integrado

Conectar un agente Windows a TFS con las credenciales del usuario que ha iniciado sesión a través de un esquema de autenticación Windows como NTLM o Kerberos.

Para usar este método de autenticación, primero debe configurar el servidor TFS.

  1. Inicie sesión en la máquina donde está ejecutando TFS.

  2. Inicie el Administrador de Internet Information Services (IIS). Seleccione el sitio de TFS y asegúrese de que Windows autenticación está habilitada con un proveedor válido, como NTLM o Kerberos.

IIS TFS windows authentication

IIS TFS windows authentication with ntlm provider

Negotiate

Conectar a TFS como un usuario distinto del usuario que ha iniciado sesión a través de un esquema de autenticación Windows como NTLM o Kerberos.

Para usar este método de autenticación, primero debe configurar el servidor TFS.

  1. Inicie sesión en la máquina donde ejecuta TFS.

  2. Inicie el Administrador de Internet Information Services (IIS). Seleccione el sitio de TFS y asegúrese de que Windows autenticación está habilitada con el proveedor Negotiate y con otro método, como NTLM o Kerberos.

IIS TFS windows authentication

IIS TFS windows authentication with negotiate and ntlm provider

Alternativa

Conectar a TFS mediante la autenticación básica. Para usar este método, primero debe configurar HTTPS en TFS.

Para usar este método de autenticación, debe configurar el servidor TFS de la siguiente manera:

  1. Inicie sesión en la máquina donde ejecuta TFS.

  2. Configure la autenticación básica. Consulte Using against Team Foundation Server 2015 using Basic Authentication (Uso de en Team Foundation Server 2015 mediante la autenticación básica).

Interactivo frente a servicio

Puede ejecutar el agente auto hospedado como un servicio o un proceso interactivo. Después de configurar el agente, se recomienda probarlo primero en modo interactivo para asegurarse de que funciona. A continuación, para su uso en producción, se recomienda ejecutar el agente en uno de los siguientes modos para que permanezca de forma confiable en estado de ejecución. Estos modos también garantizan que el agente se inicie automáticamente si se reinicia la máquina.

  1. Como servicio. Puede aprovechar el administrador de servicios del sistema operativo para administrar el ciclo de vida del agente. Además, la experiencia para actualizar automáticamente el agente es mejor cuando se ejecuta como un servicio.

  2. Como un proceso interactivo con el inicio de sesión automático habilitado. En algunos casos, es posible que tenga que ejecutar el agente de forma interactiva para su uso en producción, como para ejecutar pruebas de IU. Cuando el agente está configurado para ejecutarse en este modo, también se deshabilita el protector de pantalla. Algunas directivas de dominio pueden impedir que habilite el inicio de sesión automático o deshabilite el protector de pantalla. En tales casos, es posible que tenga que solicitar una exención de la directiva de dominio o ejecutar el agente en un equipo de grupo de trabajo donde no se apliquen las directivas de dominio.

    Nota

    Existen riesgos de seguridad al habilitar el inicio de sesión automático o deshabilitar el protector de pantalla porque permite que otros usuarios se suba al equipo y usen la cuenta que inicia sesión automáticamente. Si configura el agente para que se ejecute de esta manera, debe asegurarse de que el equipo está protegido físicamente; por ejemplo, ubicado en una instalación segura. Si usa Escritorio remoto para acceder al equipo en el que se ejecuta un agente con inicio de sesión automático, si simplemente cierra el Escritorio remoto, el equipo se bloqueará y las pruebas de interfaz de usuario que se ejecuten en este agente pueden producir un error. Para evitarlo, use el comando tscon para desconectarse de Escritorio remoto. Por ejemplo:

    %windir%\System32\tscon.exe 1 /dest:console

Cuenta del agente

Tanto si ejecuta un agente como un servicio como de forma interactiva, puede elegir qué cuenta de equipo usa para ejecutar el agente. (Tenga en cuenta que esto es diferente de las credenciales que se usan al registrar el agente con Azure Pipelines o Azure DevOps Server). La elección de la cuenta de agente depende únicamente de las necesidades de las tareas que se ejecutan en los trabajos de compilación e implementación.

Por ejemplo, para ejecutar tareas que usan Windows autenticación para acceder a un servicio externo, debe ejecutar el agente con una cuenta que tenga acceso a ese servicio. Sin embargo, si está ejecutando pruebas de IU como Selenium o pruebas de IU codificadas que requieren un explorador, el explorador se inicia en el contexto de la cuenta del agente.

En Windows, debe considerar la posibilidad de usar una cuenta de servicio como Servicio de red o Servicio local. Estas cuentas tienen permisos restringidos y sus contraseñas no expiran, lo que significa que el agente requiere menos administración con el tiempo.

Versiones y actualizaciones del agente

Actualizamos el software del agente cada pocas semanas en Azure Pipelines. Indicamos la versión del agente con el formato {major}.{minor} . Por ejemplo, si la versión del agente es 2.1 , la versión principal es 2 y la versión secundaria es 1.

Los agentes hospedados por Microsoft siempre se mantienen actualizados. Si la versión más reciente del agente solo es diferente en la versión secundaria, los agentes auto-hospedados normalmente se pueden actualizar automáticamente (configure esta opción en Grupos de agentes ,seleccione el agente, Configuración : el valor predeterminado está habilitado) Azure Pipelines. Se solicita una actualización cuando una característica de plataforma o una de las tareas usadas en la canalización requiere una versión más reciente del agente.

Si ejecuta un agente auto hospedado de forma interactiva o si hay disponible una versión principal más reciente del agente, es posible que tenga que actualizar manualmente los agentes. Puede hacerlo fácilmente desde la pestaña Grupos de agentes de su organización. Las canalizaciones no se ejecutarán hasta que puedan tener como destino un agente compatible.

Para actualizar los agentes auto-hospedados

  1. Vaya a la Project ,grupos de agentes.

    Project settings, Agent pools

  2. Seleccione el grupo de agentes y elija Actualizar todos los agentes.

    Update all agents

    También puede actualizar los agentes individualmente si elige Actualizar agente en el menú ....

    Update agent

  3. Seleccione Actualizar para confirmar la actualización.

    Update all agents confirmation

  4. Se pone en cola una solicitud de actualización para cada agente del grupo, que se ejecuta cuando se completan los trabajos que se están ejecutando actualmente. Normalmente, la actualización solo tarda unos minutos, lo suficientemente largo como para descargar la versión más reciente del software del agente (aproximadamente 200 MB), descomprimirlo y reiniciar el agente con la nueva versión. Puede supervisar el estado de los agentes en la pestaña Agentes.

Actualizamos el software del agente con cada actualización en Azure DevOps Server y TFS. Indicamos la versión del agente con el formato {major}.{minor} . Por ejemplo, si la versión del agente es 2.1 , la versión principal es 2 y la versión secundaria es 1.

Cuando el servidor Azure DevOps Server o TFS tiene una versión más reciente del agente y ese agente más reciente solo es diferente en la versión secundaria, normalmente se puede actualizar automáticamente. Se solicita una actualización cuando una característica de plataforma o una de las tareas usadas en la canalización requiere una versión más reciente del agente. A partir Azure DevOps Server 2019, no tiene que esperar una nueva versión del servidor. Puede cargar una nueva versión del agente en el nivel de aplicacióny esa versión se ofrecerá como una actualización.

Si ejecuta el agente de forma interactiva o si hay disponible una versión principal más reciente del agente, es posible que tenga que actualizar manualmente los agentes. Puede hacerlo fácilmente desde la pestaña Grupos de agentes de la colección de proyectos. Las canalizaciones no se ejecutarán hasta que puedan tener como destino un agente compatible.

Para ver la versión de un agente, vaya a Grupos de agentes y seleccione la pestaña Funcionalidades del agente deseado, como se describe en Configuración de las funcionalidades del agente.

Para desencadenar la actualización del agente mediante programación, puede usar la API de actualización del agente como se describe en la sección ¿Cómo se pueden desencadenar actualizaciones del agente mediante programación para un grupo de agentes específico?.

Nota

En el caso de los servidores sin acceso a Internet, copie manualmente el archivo ZIP del agente en C:\ProgramData\Microsoft\Azure DevOps\Agents\ para usarlo como archivo local.

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.

      Choose Organization settings.

    2. Elija Grupos de agentes.

      Choose Agent pools tab.

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

      Choose Collection settings.

    2. Elija Grupos de agentes.

      Choose Agent pools.

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

      Collection settings, 2019.

    2. Elija Grupos de agentes.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Elija Administrar grupos.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Elija Administrar grupos.

      Choose Manage pools, 2017.

    1. Vaya al proyecto y elija Administrar proyecto (icono de engranaje).

      Manage project, 2015.

    2. Elija Panel de control.

      Choose Control panel, 2015.

    3. Seleccione Grupos de agentes.

      Select Agent pools, 2015.

  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.

      From Agent pools, select the desired agent pool.

    2. Seleccione Agentes y elija el agente deseado.

      Select Agents and choose the agent.

    3. Elija la pestaña Funcionalidades.

      Choose the Capabilities tab.

      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.

      Select the desired pool.

    2. Seleccione Agentes y elija el agente deseado.

      Select Agents and choose the desired agent.

    3. Elija la pestaña Funcionalidades.

      Agent capabilities tab.

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

      Select the desired tab, 2019.

    2. Seleccione Agentes y elija el agente deseado.

      Choose the desired agent, 2019.

    3. Elija la pestaña Funcionalidades.

      Choose the Capabilities tab, 2019.

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

    Agent capabilities tab, 2018.

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

    Agent capabilities tab, 2017.

    En la pestaña Grupos de agentes, seleccione el agente deseado y elija la pestaña Funcionalidades.

    Choose the Agent capabilities tab, 2015.

  5. Busque la Agent.Version funcionalidad. Puede comprobar este valor con la versión más reciente del agente publicada. Consulte Azure Pipelines agente y compruebe en la página el número de versión más alto que aparece.

  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 cliente?

Sí. A partir 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 produjo 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 formato .zip o .tar.gz) desde la página Azure Pipelines Agent GitHub Releases.

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

  3. Ya está todo listo. El Azure DevOps Server 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.

¿Los agentes autohospedados tienen alguna ventaja de rendimiento con respecto a los agentes hospedados por Microsoft?

En muchos casos, sí. Concretamente:

  • Si usa un agente autohospedado, puede ejecutar compilaciones incrementales. Por ejemplo, si define una canalización que no limpia el repositorio y no realiza una compilación limpia, las compilaciones normalmente se ejecutarán más rápido. Cuando se usa un agente hospedado por Microsoft, no se obtienen estas ventajas porque el agente se destruye una vez completada la canalización de compilación o versión.

  • Un agente hospedado por Microsoft puede tardar más tiempo en iniciar la compilación. Aunque a menudo el trabajo tarda unos segundos en asignarse a un agente hospedado por Microsoft, a veces puede tardar varios minutos en asignarse un agente en función de la carga en nuestro sistema.

¿Puedo instalar varios agentes autohospedados en la misma máquina?

Sí. Este enfoque puede funcionar bien para los agentes que ejecutan trabajos que no consumen muchos recursos compartidos. Por ejemplo, podría probarlo para los agentes que ejecutan versiones que organizan principalmente las implementaciones y no hacen mucho trabajo en el propio agente.

Es posible que en otros casos no obtenga mucha eficacia mediante la ejecución de varios agentes en la misma máquina. Por ejemplo, puede que no valga la pena para los agentes que ejecutan compilaciones que consumen mucho disco y recursos de E/S.

También puede encontrar problemas si los trabajos de compilación paralelos usan la misma implementación de la herramienta singleton, como los paquetes npm. Por ejemplo, una compilación podría actualizar una dependencia mientras que otra compilación está en pleno uso de ella, lo que podría provocar resultados y errores de baja fiabilidad.

¿Cuál ’ es el comportamiento de los agentes cuando se cancelan los trabajos de canalización?

En el caso de los agentes hospedados por Microsoft, el agente se despedía y se devuelve al grupo Azure Pipelines cliente.

Para agentes auto-hospedados:

Cuando se cancela una canalización, el agente envía una secuencia de comandos al proceso que ejecuta el paso actual. El primer comando se envía con un tiempo de espera de 7,5 segundos. Si el proceso no ha finalizado, se envía un segundo comando con un tiempo de espera de 2,5 segundos. Si el proceso no ha finalizado, el agente emite un comando para terminar el proceso. Si el proceso no respeta las dos solicitudes de terminación iniciales, se finalizará. Desde la solicitud inicial hasta la finalización tarda aproximadamente 10 segundos.

Los comandos emitidos para el proceso son diferentes en función del sistema operativo del agente.

  • macOS y Linux: los comandos enviados son SIGINT, seguidos de SIGTERM y SIGKILL.
  • Windows: los comandos enviados al proceso son Ctrl+C, seguido de Ctrl+Interrumpir, seguido de Process.Kill.

¿Cómo se pueden desencadenar actualizaciones del agente mediante programación para un grupo de agentes específico?

Puede desencadenar actualizaciones del agente para el grupo mediante la SIGUIENTE API:

POST https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0

Parámetros de identificador URI

Nombre En Obligatorio Tipo Descripción
agentId Query Falso string Agente que se actualizará. Si no se especifica, se desencadenará la actualización para todos los agentes.
organization path True string El nombre de la organización de Azure DevOps.
poolId path True integer int32 Grupo de agentes que se usará
api-version Query Falso string Versión de la API que se usará. Debe establecerse en "6.0" para usar esta versión de la API.

Para desencadenar la actualización del agente: el cuerpo de la solicitud debe estar vacío.

Nota

Azure Pipelines agente es de código abierto en GitHub.

Más información

Para obtener más información sobre los agentes, consulte los siguientes módulos de compilación de aplicaciones con Azure DevOps de aprendizaje.