Как использовать скрипт сценария Python в выпуске конвейера - PullRequest
0 голосов
/ 27 января 2019

Я новичок в мире CI и CD.Я использую конвейеры VSTS для автоматизации процессов сборки и выпуска.Этот вопрос о выпуске конвейера.Развертывание моей сборки на виртуальной машине AWSЯ создал группу развертывания и запустил сценарий на виртуальной машине, чтобы сгенерировать агент развертывания на виртуальной машине AWS.Это хорошо работает, и я могу успешно развернуть.Я хотел бы запустить несколько сценариев автоматизации в Python после успешного развертывания.Я пытался использовать Python Script Task .Одним из параметров является Python Interpretor.справочная информация гласит: «Абсолютный путь к интерпретатору Python для использования. Если не указан, задача будет использовать интерпретатор в PATH. Запустите задачу« Использовать версию Python », чтобы добавить версию Python в PATH».

Итак, я попытался использовать Python Version Task и указал версию python, с которой обычно запускаю свои скрипты.Предварительные условия для задачи включают в себя «Агент, размещенный в Microsoft с установленными параллельными версиями Python, или агент, размещенный самостоятельно, с настроенным Agent.ToolsDirectory (см. Вопросы и ответы)».ссылка на Документация по задаче Python Version

Я не уверен, как и где установить Agent.ToolsDirectory или как использовать агент Microsoft Hosted в конвейере выпуска, развертываемого на AWS VM.Я не смог найти пошаговых примеров для этого.Может кто-нибудь помочь мне с четкими шагами, как запустить сценарии Python в моем сценарии?

1 Ответ

0 голосов
/ 27 января 2019

самый простой способ сделать это просто сделать что-то вроде в вашем определении yaml:

- script: python xxx

это запустит python и передаст ему аргументы, вы можете использовать python2 или python3 (версия по умолчанию установлена ​​наразмещенный агент).Другой способ достижения этого (более надежный) - использование контейнера внутри размещенного агента.таким образом, вы можете явно указать версию Python и гарантировать, что вы получаете то, что вы указали.пример:

ресурсы: контейнеры: - контейнер: my_container # может быть любым изображением: python: 3.6-jessie # просто пример

jobs: - job: job_name контейнер: my_container # должен бытьимя контейнера из пула ресурсов: vmImage: 'Ubuntu-16.04' шаги: - извлечение: self fetchDepth: 1 clean: true - скрипт: python xxx

, это запустит контейнер python:3.6-jessie, смонтируйте код внутриконтейнер и выполните команду python в корне репо.Чтение:

https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azdevops&tabs=schema&viewFallbackFrom=vsts#job
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view=azdevops&tabs=yaml&viewFallbackFrom=vsts

, если вы используете свой собственный агент - просто установите на него python и убедитесь, что он в пути, поэтому он должен работать, когдавы просто набираете python в консоли (в этом случае вам придется использовать задачу скрипта).Если вы хотите использовать задачу Python, следуйте этим статьям:

https://github.com/Microsoft/azure-pipelines-tool-lib/blob/master/docs/overview.md#tool-cache
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/use-python-version?view=azdevops

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...