Versão de software do agente 3

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planejamento de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

A equipe de pipelines está atualizando o software do agente da versão 2.x (usando o .NET Core 3.1) para a versão 3.x (usando o .NET 6). A nova versão do agente suporta novo hardware de silício da Apple e sistemas operacionais mais recentes, como Ubuntu 22.04 ou Windows no ARM64.

Nota

Esse recurso está disponível a partir do Azure DevOps Server 2022.1.

Atualizar para o agente 3.x em sistemas operacionais suportados

Se você estiver executando seus agentes auto-hospedados em sistemas operacionais mais recentes suportados pelo .NET 6, a atualização para a nova versão do agente será automática.

Os seguintes sistemas operacionais são suportados pelo agente 3.x.

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Não requer mais pacote separado
      • SUSE Enterprise Linux 12 SP2 ou posterior
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpino 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"
      • Observação: nem todas as tarefas do Azure Pipelines foram atualizadas para dar suporte ao ARM64 ainda
  • Windows
    • SO cliente
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • SO do servidor
      • Windows Server 2012 ou superior

Atualizar para o agente 3.x em sistemas operacionais não suportados

Se você estiver executando seus agentes auto-hospedados em um sistema operacional que não é suportado pelo .NET 6, você deve atualizar suas máquinas para usar um sistema operacional suportado mais recente suportado pelo .NET 6.

A lista a seguir de sistemas operacionais é comumente usada para agentes 2.x auto-hospedados. Esses sistemas operacionais não são suportados pelo .NET 6 e não podem ser usados para executar o novo agente baseado no .NET 6 versão 3.x.

Sistema/Distribuição Versão não suportada pelo .NET 6
CentOS < 7
Debian <= 4,9
Fedora <= 32
Red Hat Enterprise Linux <= 6
Ubuntu < 18,04 LTS
macOS < 10.15

Pode utilizar um script para prever se os agentes nos conjuntos autoalojados conseguem atualizar da versão 2.x para a 3.x.

Ao tentar executar pipelines na versão 2.218 do agente (ou 2.214 no RHEL 6), os pipelines executados em um dos sistemas operacionais não suportados listados aqui falharão com a seguinte mensagem de erro: 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 esse erro, você pode:

  1. Atualize ou mova suas máquinas de agente para um dos sistemas operacionais suportados listados anteriormente neste artigo. Esta é a solução preferida e permite que você obtenha futuras atualizações do agente,
  2. Defina uma AGENT_ACKNOWLEDGE_NO_UPDATES variável no agente, definindo uma variável de ambiente ou uma variável de pipeline.
  • Você pode definir AGENT_ACKNOWLEDGE_NO_UPDATES configurando uma variável de ambiente no agente, por exemplo, em /etc/environment ou etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • Você pode definir uma variável de pipeline.

    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
    

FAQ

Qual é a diferença entre os agentes 2.x e 3.x?

Os agentes 2.x (por exemplo, 2.212) são .NET Core 3.1 e os agentes 3.x (por exemplo, 3.212) são .NET 6. Durante a Fase I e II, ambas as versões estão disponíveis, com as versões 3.x em pré-lançamento.

Como posso verificar meus agentes para ver se eles podem atualizar para 3.x?

Você pode usar um script para prever se os agentes em seus pools auto-hospedados poderão atualizar de 2.x para 3.x.

Como os problemas de segurança no agente serão corrigidos daqui para frente?

Quando o agente .NET 6 estiver disponível para pools auto-hospedados no 1º trimestre de 2023, não haverá patches feitos, em geral, para os agentes 2.x. Os patches serão feitos apenas para os agentes 3.x. No entanto, também temos clientes do Azure DevOps Server que ainda dependerão de agentes 2.x. Assim, analisaremos as questões de segurança caso a caso para decidir.

O que eu preciso fazer quando estou em um sistema operacional não suportado?

Você deve migrar para um sistema operacional mais recente que é suportado pelo .NET 6 agora. Caso contrário, seu agente pode tentar atualizar e ele falhará, pois o .NET 6 não pode ser instalado no seu sistema operacional. Publicaremos algumas orientações em uma postagem de blog de acompanhamento que impedirá atualizações automáticas do agente. No entanto, isso é apenas para ser uma solução temporária para lhe dar mais algum tempo para atualizar suas máquinas de agente.

Posso permanecer em agentes 2.x se não estiver mais trabalhando em nenhuma alteração no meu projeto?

N.º A equipe de pipelines está adicionando regularmente novos recursos ao Azure Pipelines e alguns deles podem exigir uma atualização para o agente, mesmo que seu pipeline não dependa explicitamente desse recurso. Quando você impede atualizações automáticas do agente usando as orientações em um blog de acompanhamento, esse agente não pode ser usado para agendar o pipeline. Se nenhum agente com os recursos necessários puder ser encontrado, a execução do pipeline falhará.

Tenho que instalar o .NET 6 antes de instalar o software do agente 3.x?

Não é necessário instalar o .NET 6 na máquina do agente antes de instalar e configurar o software do agente 3.x. Todas as dependências do .NET que o agente 3.x requer fazem parte do próprio agente.

Tenho que criar meu código usando o .NET 6 se estiver usando o agente 3.x?

A versão do .NET usada para executar o agente 3.x é independente na instalação do agente e não é usada para criar seu código. A versão do .NET que é usada para criar seu código depende do pipeline e da versão ou versões do .NET que você instalou na máquina do agente.

Eu uso o Servidor de DevOps do Azure e não o Serviço de DevOps do Azure. Essa mudança me impacta?

N.º O novo agente só é aplicável aos clientes do Serviço de DevOps do Azure neste momento. No entanto, uma versão futura do Azure DevOps Server incluirá o novo agente. A equipe de pipelines recomenda que você atualize suas máquinas de agente para sistemas operacionais mais recentes que são suportados pelo .NET 6 a partir de agora, se você planeja acompanhar as versões do Azure DevOps Server no futuro.

Qual é o cronograma para a implantação do agente versão 3?

A versão 3 do agente foi lançada em março de 2023.

O que acontecerá quando uma tarefa exigir que um agente seja atualizado para a versão 3 do agente?

Normalmente, quando uma tarefa requer uma versão mais recente do agente, ela se atualiza automaticamente. Por enquanto, enquanto a versão 2 do agente continua a ser atualizada, desativamos a atualização automática da versão 2 do agente para a versão 3 do agente. Depois de ativá-lo, para sistemas operacionais que não são compatíveis com o agente versão 3, o agente versão 2.217 e mais recente não tentará se atualizar para o agente v3. Em vez disso, um aviso será exibido informando aos usuários que eles precisam atualizar o sistema operacional primeiro: 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