Ярлык ARM64 размещенного агента Azure Devops

#azure #azure-devops #devops #azure-devops-hosted-agent

#azure #azure-devops #devops #azure-devops-hosted-agent

Вопрос:

В обновлении Azure DevOps от Sprint 171 Microsoft объявила о поддержке размещенных агентов Linux / ARM64. Чтобы иметь возможность использовать его в качестве размещенного агента Microsoft, мне нужно знать правильную метку для такого образа. Я нигде не могу его найти.

Ответ №1:

Мы можем добавить task Bash и ввести скрипт printenv , чтобы перечислить все переменные env, затем проверить переменную AGENT_OSARCHITECTURE , в результате теста все архитектуры размещенных агентов ubuntu — x64 вместо ARM64, вы можете поднять этот вопрос сообществу разработчиков, команда разработчиков Azure DevOps проверит его и даст вам подробное объяснение..

В качестве обходного пути мы можем установить автономный агент Linux ARM64, вы можете обратиться к этому документу для получения более подробной информации.

Ответ №2:

Это объявление о выпуске довольно краткое. Я не обязательно принимал это, поскольку размещенные агенты будут поддерживаться, просто вы могли бы самостоятельно разместить агента, если хотите.

Если вы хотите найти подробную информацию о том, что поддерживается и доступно в последних образах, все это записано на странице GitHub для виртуальных сред. В частности, вы можете найти ярлык YAML.

По состоянию на 2020-09 я не вижу ничего, ссылающегося на ARM64.

ubuntu-20.04 или , ubuntu-latest или ubuntu-18.04 ubuntu-16.04 , macos-latest или macos-10.15 , windows-latest или windows-2019 , windows-2016

Комментарии:

1. Я надеялся, что они забыли обновить. Вы думаете, они имели в виду, что вы можете использовать только самостоятельно размещенные агенты с Arm64? Они объявили, что конвейеры Azure теперь поддерживают Linux / Arm64. Зачем им упоминать ОС, если они сами не размещают себя?

2. Да, моя интерпретация заключалась в том, что он был только для самостоятельного размещения. Судя по комментариям, похоже, что это был очень востребованный элемент сообщества. Я согласен с тем, что добавление формулировки о том, что он доступен для самостоятельного размещения, было бы более понятным.

Ответ №3:

Теперь я нашел решение. Если вы установите пакет QEMU на размещенный агент, он может эмулировать любое устройство ARM, и могут выполняться приложения arm. По крайней мере, для использования docker это работает хорошо.

Комментарии:

1. Спасибо за совместное использование, вы могли бы пометить его как ответ, в этом случае другие могли бы напрямую найти полезное решение. Спасибо.

2. Это выполняется в полностью эмулируемой среде. Он может работать для вашего использования, но это приводит к значительному снижению производительности.