Versión 3 del software del agente

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planeación en consecuencia. Para obtener más información, consulte la Guía de fin de ciclo de vida de CentOS.

El equipo de canalizaciones actualiza el software del agente de la versión 2.x (mediante .NET Core 3.1) a la versión 3.x (con .NET 6). La nueva versión del agente admite hardware de silicio de Apple y sistemas operativos más recientes como Ubuntu 22.04 o Windows en ARM64.

Nota:

Esta característica está disponible a partir de Azure DevOps Server 2022.1.

Actualización al agente 3.x en sistemas operativos compatibles

Si ejecuta los agentes autohospedados en sistemas operativos más recientes compatibles con .NET 6, la actualización a la nueva versión del agente es automática.

El agente 3.x admite los siguientes sistemas operativos.

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Ya no requiere un paquete independiente
      • SUSE Enterprise Linux 12 SP2 o posterior
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 y posterior
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • macOS
    • x64
      • macOS 10.15 "Catalina"
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
    • ARM64
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
      • Nota: no todas las tareas de Azure Pipelines se han actualizado ya para admitir ARM64
  • Windows
    • Sistema operativo de cliente
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Sistema operativo de servidor
      • Windows Server 2012 o posterior

Actualización al agente 3.x en sistemas operativos compatibles

Si ejecuta los agentes autohospedados en un sistema operativo que no es compatible con .NET 6, debe actualizar las máquinas para que usen un sistema operativo compatible más reciente compatible con .NET 6.

La siguiente lista de sistemas operativos se usa normalmente para agentes autohospedados de 2.x. Estos sistemas operativos no son compatibles con .NET 6 y no se pueden usar para ejecutar el nuevo agente basado en .NET 6 versión 3.x.

Sistema/distribución Versión no compatible con .NET 6
CentOS < 7
Debian <= 4.9
Fedora <= 32
Red Hat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

Puede usar un script para predecir si los agentes de los grupos autohospedados pueden actualizar de 2.x a 3.x.

Al intentar ejecutar canalizaciones en la versión 2.218 del agente (o 2.214 en RHEL 6), las canalizaciones que se ejecutan en uno de los sistemas operativos no admitidos enumerados aquí producirán el siguiente mensaje de error: This operating system will stop receiving updates of the Pipelines Agent in the future. To be able to continue to run pipelines please upgrade the operating system or set an environment variable or agent knob "AGENT_ACKNOWLEDGE_NO_UPDATES" to "true". See https://aka.ms/azdo-pipeline-agent-v2-eos for more information.

Para resolver este error se puede:

  1. Actualizar o mover las máquinas del agente a uno de los sistemas operativos compatibles enumerados anteriormente en este artículo. Esta es la solución preferida y le permite obtener actualizaciones futuras del agente,
  2. Establecer una variable AGENT_ACKNOWLEDGE_NO_UPDATES en el agente, ya sea estableciendo una variable de entorno o una variable de canalización.
  • Puede establecer AGENT_ACKNOWLEDGE_NO_UPDATES configurando una variable de entorno en el agente, por ejemplo en /etc/environment o etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • Puede establecer una variable de canalización.

    jobs:
    - job: 'agentWithVariables'
      displayName: 'Agent with variables'
    
      variables:
        AGENT_ACKNOWLEDGE_NO_UPDATES: 'true' # Required to not fail job on operating system that is not supported by .NET 6
    

Preguntas más frecuentes

¿Cuál es la diferencia entre los agentes 2.x y 3.x?

Los agentes 2.x (por ejemplo, 2.212) son .NET Core 3.1 y los agentes 3.x (por ejemplo, 3.212) son .NET 6. Durante la fase I y II, ambas versiones están disponibles, con las versiones 3.x en versión preliminar.

¿Cómo puedo comprobar mis agentes para ver si se pueden actualizar a la versión 3.x?

Puede usar un script para predecir si los agentes de los grupos autohospedados se podrán actualizar de 2.x a 3.x.

¿Cómo se revisarán los problemas de seguridad en el agente en el futuro?

Cuando el agente de .NET 6 esté disponible con carácter general para grupos autohospedados en Q1 2023, no habrá revisiones realizadas, en general, para los agentes 2.x. Las revisiones solo se realizarán para los agentes 3.x. Sin embargo, también tenemos Azure DevOps Server clientes que seguirán confiando en agentes 2.x. Por lo tanto, revisaremos los problemas de seguridad en un caso por caso para decidir.

¿Qué debo hacer cuando estoy en un sistema operativo no compatible?

Ahora debe migrar a un sistema operativo más reciente compatible con .NET 6. De lo contrario, es posible que el agente intente actualizar y se producirá un error porque .NET 6 no se puede instalar en el sistema operativo. Publicaremos algunas instrucciones en una entrada de blog de seguimiento que impedirá las actualizaciones automáticas del agente. Sin embargo, eso solo está pensado para ser una solución temporal para proporcionarle más tiempo para actualizar las máquinas del agente.

¿Puedo permanecer en agentes de 2.x si ya no estoy trabajando en ningún cambio en mi proyecto?

No. El equipo de canalizaciones agrega periódicamente nuevas características a Azure Pipelines y algunas de ellas pueden requerir una actualización al agente aunque la canalización no dependa explícitamente de esa característica. Al evitar actualizaciones automáticas del agente mediante las instrucciones de un blog de seguimiento, ese agente no se puede usar para programar la canalización. Si no se encuentra ningún agente con las funcionalidades necesarias, se producirá un error en la ejecución de la canalización.

¿Tengo que instalar .NET 6 antes de instalar el software del agente 3.x?

No es necesario instalar .NET 6 en el equipo del agente antes de instalar y configurar el software del agente 3.x. Todas las dependencias de .NET que requiere el agente 3.x forman parte del propio agente.

¿Tengo que compilar mi código con .NET 6 si uso el agente 3.x?

La versión de .NET que se usa para ejecutar el agente 3.x es independiente en la instalación del agente y no se usa para compilar el código. La versión de .NET que se usa para compilar el código depende de la canalización y de la versión o las versiones de .NET que haya instalado en el equipo del agente.

Uso Azure DevOps Server y no Azure DevOps Service. ¿Me afectará este cambio?

Sí, le afectará si usa alguna de las versiones de Azure DevOps Server que se enumeran en la sección siguiente.

El equipo de canalizaciones recomienda actualizar las máquinas del agente a sistemas operativos más recientes compatibles con .NET 6 a partir de ahora, si tiene previsto mantenerse al día con las versiones de Azure DevOps Server en el futuro.

¿Admite Azure DevOps Server el agente 3.x?

Las versiones de Azure DevOps Server admiten la versión del agente que se implementa con esa versión. Las siguientes versiones de Azure DevOps Server incluyen una versión del agente 3.x.

¿Cuál es la escala de tiempo para la implementación del agente versión 3?

La versión 3 del agente se publicó en marzo de 2023.

¿Qué ocurrirá cuando una tarea requiera que un agente se actualice a la versión 3 del agente?

Normalmente, cuando una tarea requiere una versión más reciente del agente, se actualizará automáticamente. Por ahora, mientras que la versión 2 del agente sigue actualizándose, hemos deshabilitado la actualización automática de la versión 2 del agente a la versión 3 del agente. Una vez que lo habilitemos, para los sistemas operativos que no son compatibles con la versión 3 del agente, la versión del agente 2.217 y versiones posteriores no intentarán actualizarse al agente v3. En su lugar, se mostrará una advertencia que informe a los usuarios de que necesitan actualizar primero el sistema operativo: The operating system the agent is running on is <OS>, which will not be supported by the .NET 6 based v3 agent. Please upgrade the operating system of this host to ensure compatibility with the v3 agent. See https://aka.ms/azdo-pipeline-agent-version