Examinar los agentes y grupos de agentes para las canalizaciones
Para compilar el código o implementar el software mediante Azure Pipelines, necesita al menos un agente. Con el tiempo, a medida que añada más código y más personas, necesitará más agentes.
Cuando la canalización se ejecuta, el sistema inicia uno o varios trabajos. Un agente es una infraestructura informática con software de agente instalado que ejecuta un trabajo de uno en uno.
Tipos de agentes
Azure Pipelines proporciona varios tipos diferentes de agentes.
Tipo de agente | Descripción | Disponibilidad |
---|---|---|
Agentes hospedado por Microsoft | Agentes hospedados y administrados por Microsoft | Azure DevOps Services |
Agentes autohospedados | Agentes que configure y administre, hospedados en las máquinas virtuales | Azure DevOps Services, Azure DevOps Server, TFS |
Agentes de conjunto de escalado de máquinas virtuales de Azure | Se trata de una forma de agentes autohospedados usando Azure Virtual Machine Scale Sets y pueden escalar automáticamente para satisfacer las demandas | Azure DevOps Services |
Agentes hospedado por Microsoft
Si las canalizaciones están en Azure Pipelines, dispone de una práctica opción 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 ejecute una canalización, obtendrá una máquina virtual nueva para cada trabajo de la canalización. La máquina virtual se descarta después de un trabajo (lo que significa que cualquier cambio que realice un trabajo en el sistema de archivos de la máquina virtual, como la extracción de código del repositorio, no estará disponible para el siguiente 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 llamado Azure Pipelines con agentes hospedados por Microsoft.
Para muchos equipos, este enfoque 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.
Agentes autohospedados
Un agente autohospedado es un tipo de agente que se configura y administra por su cuenta para ejecutar trabajos. Puede usar agentes autohospedados en Azure Pipelines o Azure DevOps Server, anteriormente denominados Team Foundation Server (TFS). Los agentes autohospedados proporcionan mayor control para instalar el software dependiente necesario para las compilaciones e implementaciones. Además, las memorias caché de nivel de máquina y la configuración se conservan de una ejecución a otra, lo que puede aumentar la velocidad.
Nota:
Aunque se pueden instalar varios agentes por máquina, se recomienda que solo instale 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.
Puede instalar un agente autohospedado en máquinas Linux, macOS o Windows. También puede instalar un agente en un contenedor de Docker.
Agentes de Windows autohospedados
Los agentes autohospedados se pueden usar para compilar e implementar Windows, Azure y otras soluciones de Visual Studio. Los agentes de Windows también pueden compilar aplicaciones de Java y Android.
Requisitos previos
Asegúrese de que la máquina cumple estos requisitos previos:
Versión del sistema operativo
Sistema operativo del cliente
- Windows 7 SP1 ESU
- Windows 8.1
- Windows 10
- Windows 11
Sistema operativo de servidor
- Windows Server 2012 o posterior
El software del agente instala su propia versión de .NET, por lo que no hay requisito previo de .NET.
PowerShell 3.0 o posterior
Subversion: si va a compilar desde un repositorio de Subversion, debe instalar el cliente de Subversion en la máquina.
Recomendado: herramientas de compilación de Visual Studio (2015 o superior)
La primera vez, debe ejecutar la instalación del agente manualmente. 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.
Seguridad de la información para los agentes autohospedados
Para configurar el agente, el usuario necesita permisos de administrador del grupo, pero no para ejecutarlo.
Las carpetas que controla 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. Podría ser un destino para los ataques de ejecución remota de código (RCE).
Por lo tanto, es importante considerar el modelo de amenaza que rodea cada uso individual de los agentes de Pipelines para realizar el trabajo. Debe determinar los permisos mínimos que se pueden conceder a los siguientes recursos:
- El usuario que ejecuta el agente.
- Máquina donde se ejecuta el agente.
- Los usuarios que tienen acceso de escritura a la definición de canalización.
- Repositorios de Git donde se almacena el archivo yaml.
- Grupo de usuarios que controlan el acceso al grupo para las nuevas canalizaciones.
Se recomienda 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 detenidamente el acceso concedido a la propia máquina del agente y a las carpetas del agente que contienen archivos confidenciales, como registros y artefactos.
Tiene sentido conceder acceso a la carpeta del agente solo a 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 u obtener archivos de registro para poder notificar errores de Azure DevOps.
Debe registrar el agente una vez. Alguien con permiso para administrar la cola del agente debe completar estos pasos. El agente no usa las credenciales de esta persona en el funcionamiento diario, pero son necesarias para completar el registro.
Implementar un agente de Windows autohospedado
En la siguiente información se describe cómo obtener el token de acceso personal para el agente de Windows autohospedado:
Inicie sesión en DevOps con la cuenta de usuario que planea usar en la organización de Azure DevOps. En la página principal de la organización, abra la configuración de usuario y seleccione Tokens de acceso personal.
Para crear un token de acceso personal, seleccione + Nuevo token. En la parte inferior de la ventana Crear un nuevo token de acceso personal, para ver la lista completa de ámbitos, seleccione Mostrar todos los ámbitos. Seleccione los ámbitos Grupos de agentes (lectura, administración) y Grupo de implementación (lectura, administración). Asegúrese de que todas las demás casillas estén desactivadas. Copie el token.
Nota:
Este token se usa al configurar el agente.
En la siguiente información se describe cómo descargar y configurar el agente.
Asegúrese de que ha iniciado sesión en Azure DevOps como propietario de la organización de Azure DevOps. Seleccione la organización de DevOps y, a continuación, seleccione Configuración de la organización. A continuación, seleccione Grupos de agentes.
En el cuadro de diálogo Obtener el agente, seleccione Windows. 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. En el panel derecho, seleccione Descargary siga las instrucciones para descargar el agente.
Cree la siguiente ubicación de carpeta para el agente: C:\agents
. Desempaquete el archivo ZIP del agente en el directorio que creó. Abra PowerShell como administrador, vaya a la carpeta Agentes y escriba el siguiente comando de PowerShell:
.\config
Use la siguiente captura de pantalla para guiarse a través de los pasos de configuración del agente autohospedado:
Probar el agente Windows autohospedado
La siguiente información describe cómo probar o comprobar el agente mediante una canalización.
En la página DevOps, abra un proyecto y cree una canalización de implementación. En el menú de la izquierda, seleccione Canalizaciones y, a continuación, seleccione la canalización de implementación. Seleccione Ejecutar y asegúrese de que la implementación se ha completado correctamente.