Azure DevOps CI / CD работает с любым языком, платформой и облаком. Только для приложения Python вам может потребоваться добавить дополнительные шаги для развертывания с CI / CD Azure Devops.
Поскольку питон является интерпретируемым языком, компиляция не требуется. Если ни на одном другом шаге, таком как тестирование, просто нужно использовать 2 задачи в конвейере CI: Архив файлов задача и Публикация артефактов сборки задача.
Задача Архивные файлы , используемая для упаковки исходной папки приложения python в zip-пакет дляиспользуйте его на CD. И Публикация задачи сборки артефактов будет публиковать этот zip-пакет для конвейера выпуска.
НО,
Если ваш проект содержит и нуждается в тестировании, добавьтееще одна задача командной строки для запуска теста с использованием pytest .
Но, в лазурных devops, вам необходимо настроить среду python с некоторымиЗадачи, если вы хотите использовать компонент Python, такой как pytest .
Здесь, пожалуйста, обратитесь к этому блогу .
Примечание. Поскольку используемый вами стек равен Python 3.7
, укажите версию Python как 3.x
в задаче Использование Python.
Поскольку вы создали службу приложений на портале Azure, просто пропустите шаг 4 (Добавить задачу CLI Azure) в Упражнение 3: настройкаВыпустите конвейер , который показан в этом блоге , потому что Шаг 4 просто используется для создания новых ресурсов Azure.
1. Для развертывания PythonПриложению необходимо добавить задачу Управление службой приложений Azure , чтобы сначала установить соответствующее расширение сайта версии Python в конвейере выпуска:
Будет установлен набор соответствующих инструментов для поддержки управления службой приложений.
2. Затем вы можете использовать Служба приложений Azure развертывание для развертывания zip пакет, созданный в конвейере Build, для службы приложений, настроенной на портале Azure.
После указания подписки в этом задании служба приложения автоматически отобразится в выпадающем списке Имя службы приложения :
Затем указывается путь, который вы настроили в задаче публикации конвейера сборки. Замените $(Build.ArtifactStagingDirectory)
на $(System.DefaultWorkingDirectory)
и замените $(Build.BuildId)
на *
, чтобы найти пакет zip
с помощью нечеткого поиска.