Получение выходных данных консоли из сценария, запущенного внутри виртуальной машины в конвейере

#azure-devops #azure-pipelines #rpa

Вопрос:

У меня есть конвейер с описанными ниже шагами:

  • Создайте группу ресурсов
  • Создайте виртуальную машину из образа
  • Скопируйте проект Python в виртуальную машину, созданную на предыдущем шаге

Этот проект на Python представляет собой RPA (Роботизированную автоматизацию процессов). Теперь мне нужно выполнить этот проект Python внутри виртуальной машины и получить от него выходные данные, чтобы знать, что происходит, что делает робот. Этот робот читает некоторые сайты и внутреннее программное обеспечение.

Есть ли способ выполнить сценарий внутри виртуальной машины из конвейера и получить его выходные данные на консоли? Есть какие-нибудь зацепки?

Я видел, как это происходило с Дженкинсом.

Ответ №1:

Если у вас есть виртуальная машина Microsoft для размещения, возможно, есть способ «поговорить» с указанной виртуальной машиной, поскольку она размещена на платформе Microsoft. Однако единственный известный мне способ-это развернуть агент на виртуальной машине и выбрать его в качестве целевого ресурса для выполнения задач, таких как копирование проекта Python и даже его запуск.

Вы уже пробовали это сделать?

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

1. Когда вы скажете об агенте из меню «Среда»? И вместо того, чтобы копировать проект в виртуальную машину, запустите его непосредственно из конвейера, указывающего на эту среду с виртуальной машиной? Я попробую сделать это таким образом.

2. Я пытаюсь, но застреваю на шаге «Использовать версию Python». Получена ошибка: ##[ошибка]Спецификация версии 2.7 для архитектуры x64 не соответствует ни одной версии агента. Каталог инструментов не имеет значения, какую версию я пробую. Есть какие-нибудь зацепки?

3. Я не совсем уверен в настройке для работы в качестве среды, но при этом в агенте вам нужно «рассказать» Агенту, каковы его возможности. Если Агент был создан в C:Agent папку, затем в C:Agent_work_tool папку, добавьте следующее, заменив 3.8.0 на любую версию, которую вы используете, и x64 на x86, если это 32-разрядная система: Python3.8.0×64.завершите Python3.8.0×64<> Внутри папки x64 агент будет запускать Python, поэтому вам понадобятся все традиционные файлы, такие как python.exe, python3.dll, python38.dll и т.д. Надеюсь, это поможет!

4. Мне кажется, я понимаю, о чем вы сейчас говорите. Мне нужно использовать автономный агент. извините за мою глупость. Я попробую это прямо сейчас!

5. Это не проблема! Не забывайте также о командах ведения журнала в трубопроводах YAML, они НЕВЕРОЯТНО мощные! docs.microsoft.com/en-us/azure/devops/pipelines/scripts/… Синтаксис в python для выполнения: импорт журнала; ведение журнала.basicConfig(формат=»%(сообщение)s», уровень=ведение журнала. ИНФОРМАЦИЯ); logging.info(«##vso[значение task.setprogress={};]Журнал загрузки».формат(int(состояние/maxStates*100))); ведение журнала. предупреждение(«##[отладка]Это отладочное сообщение»); logging.info(«##vso[переменная task.setvariable=pipelinesVar;]{}».формат(pythonVar))