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 agregue más código y personas, 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.
Los trabajos se pueden ejecutar directamente en el equipo host del agente o en un contenedor.
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 se ejecuta una canalización, se 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 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, consulte:
- Agente de macOS
- Agente de Linux (x64, ARM, ARM64, RHEL6)
- Windows agente (x64, x86)
- Agente de Docker
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, consulte:
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 ejecute. El siguiente comando 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 actualizadas y correcciones de errores.
Agentes de conjunto de escalado de máquinas virtuales de Azure
Los agentes del 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 que se mantendrán en espera, un número máximo de máquinas virtuales en el conjunto de escalado y Azure Pipelines administrará el escalado de los agentes por usted.
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 incluyen 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, vea 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 las versiones. Solo está limitado por el número de agentes que tiene.
Funcionalidades
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 olas 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, los cambios en las variables de entorno que se realicen mientras el agente se está ejecutando no se seleccionarán ni usarán en ninguna tarea. Si tiene variables de entorno confidenciales que cambian y no quiere que se almacenen como funcionalidades, puede omitirlas estableciendo la variable de entorno, con una lista delimitada por comas de variables que se VSO_AGENT_IGNORE omitirán. Por ejemplo, es una variable crítica que es posible que quiera omitir PATH 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 coincida con 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, incluida su versión y funcionalidades del sistema, y administrar sus funcionalidades de usuario; para ello, vaya a Grupos de agentes y seleccione la pestaña Funcionalidades del agente deseado.
En el explorador web, vaya a Grupos de agentes:
Elija Azure DevOps, Configuración de la organización.

Elija Grupos de agentes.

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

Elija Grupos de agentes.

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

Elija Grupos de agentes.

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

Elija Administrar grupos.

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

Elija Administrar grupos.

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

Elija Panel de control.

Seleccione Grupos de agentes.

Vaya a la pestaña funcionalidades:
En la pestaña Grupos de agentes, seleccione el grupo de agentes deseado.

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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.
En la pestaña Grupos de agentes, seleccione el grupo deseado.

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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

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

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

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 TFS para determinar qué trabajo debe ejecutar e informar de los registros y el estado del trabajo. El agente siempre inicia esta comunicación. Todos los mensajes del agente a Azure Pipelines o TFS se suceden 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.


Este es un patrón de comunicación común entre el agente y Azure Pipelines o TFS.
El usuario registra un agente con Azure Pipelines o TFS agregándole 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 TFS. 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.
El agente escucha para ver si se ha publicado una nueva solicitud de trabajo para ella en la cola de trabajos de Azure Pipelines/TFS 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 lo genera Azure Pipelines/TFS 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 TFS dentro de ese trabajo.
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/TFS se protege 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.

Authentication
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 TFS. Además, debe ser un administrador local en el servidor para configurar el agente.
El agente puede autenticarse en 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 TFS, 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.
Inicie sesión en la máquina donde está ejecutando TFS.
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.


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.
Inicie sesión en la máquina donde ejecuta TFS.
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.


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:
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.
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.
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 TFS). 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
Vaya a la Project ,grupos de agentes.

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

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

Seleccione Actualizar para confirmar la actualización.

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 todas las actualizaciones de 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?
Vaya a la pestaña Grupos de agentes:
Elija Azure DevOps, Configuración de la organización.

Elija Grupos de agentes.

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

Elija Grupos de agentes.

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

Elija Grupos de agentes.

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

Elija Administrar grupos.

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

Elija Administrar grupos.

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

Elija Panel de control.

Seleccione Grupos de agentes.

Haga clic en el grupo que contiene el agente.
Asegúrese de que el agente está habilitado.
Vaya a la pestaña funcionalidades:
En la pestaña Grupos de agentes, seleccione el grupo de agentes deseado.

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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.
En la pestaña Grupos de agentes, seleccione el grupo deseado.

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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

Seleccione Agentes y elija el agente deseado.

Elija la pestaña Funcionalidades.

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

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

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

Busque la
Agent.Versionfuncionalidad. Puede comprobar este valor con la versión más reciente del agente publicado. Consulte Azure Pipelines agente y compruebe la página para obtener el número de versión más alto que aparece.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 que busque 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.
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.
Transfiera los archivos de paquete descargados a cada nivel de aplicación Azure DevOps Server 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\Agentscarpeta .Ya está todo listo. El Azure DevOps Server usará ahora 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 elija Actualizar todos los agentes.
¿Los agentes auto-hospedados tienen alguna ventaja de rendimiento con respecto a los agentes hospedados por Microsoft?
En muchos casos, sí. Concretamente:
Si usa un agente auto hospedado, 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 solo 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 auto-hospedados 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 orquestan 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 muchos recursos de disco y 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 otra se encuentra en medio de su uso, lo que podría provocar errores y resultados no confiables.
¿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 | False | string | Agente que se actualizará. Si no se especifica , la actualización se desencadenará 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 | False | 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 Agent es de código abierto en GitHub.
Saber más
Para obtener más información sobre los agentes, consulte los siguientes módulos de la ruta de aprendizaje Compilación de aplicaciones Azure DevOps de aprendizaje.