#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. Это выполняется в полностью эмулируемой среде. Он может работать для вашего использования, но это приводит к значительному снижению производительности.