Создание и публикация приложения Python
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этом кратком руководстве вы создадите конвейер, который создает и тестирует приложение Python. Вы узнаете, как использовать Azure Pipelines для создания, тестирования и развертывания приложений и сценариев Python в рамках системы непрерывной интеграции и непрерывной доставки (CI/CD).
Предварительные условия
- Учетная запись GitHub, в которой можно создать репозиторий. Создайте бесплатную учетную запись GitHub.
- Организация Azure DevOps. Создайте ее бесплатно.
- Проект Azure DevOps. Создайте его с помощью мастера создания проекта Azure DevOps.
- Возможность запуска конвейеров на размещенных корпорацией Майкрософт агентах. Вам нужно запросить бесплатное предоставление параллельных заданий или приобрести параллельное задание.
Python предварительно установлен на агентах, хостингующихся на Microsoft для Linux, macOS и Windows. Вам не нужно ничего больше настраивать для создания проектов Python. Чтобы узнать, какие версии Python предварительно установлены, см. статью "Использование размещенного корпорацией Майкрософт агента".
- Учетная запись GitHub, в которой можно создать репозиторий. Создайте бесплатную учетную запись GitHub.
- Организация Azure DevOps. Создайте ее бесплатно.
- Проект Azure DevOps. Создайте его с помощью мастера создания проекта Azure DevOps.
- Локальный агент. Сведения о создании см. в разделе "Локальные агенты".
- Python, установленный на локальном агенте. Сведения об установке Python на агенте см. в разделе UsePythonVersion.
Создать форк примера кода
Форкните репозиторий с примером Python в вашу учетную запись GitHub.
- Перейдите в репозиторий python-sample-vscode-flask-tutorial .
- Выберите Форк в правом верхнем углу страницы.
- Выберите учетную запись GitHub. По умолчанию форк называется так же, как родительский репозиторий, но вы можете дать ему другое имя.
Внимание
В следующих процедурах может потребоваться создать подключение службы GitHub или вы можете быть перенаправлены на GitHub для входа, установки или авторизации Azure Pipelines. Следуйте инструкциям на экране, чтобы завершить процесс. Дополнительные сведения см. в разделе Доступ к репозиториям GitHub.
Создание конвейера
- В проекте Azure DevOps выберите Pipelines Create Pipelines>, а затем выберите GitHub в качестве расположения исходного кода.
- На экране "Выбор репозитория" выберите форкнутый пример репозитория.
- На экране "Настройка конвейера" выберите "Начальный конвейер".
Настройка конвейера
На экране проверки конвейера YAML замените содержимое созданного azure-pipelines.yml файла следующим кодом. Код.
- Устанавливает необходимые версии Python и зависимости.
- Пакеты создают артефакты в ZIP-архив.
- Публикует архив в ваш конвейер.
- Выполняет тесты
trigger:
- main
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python310:
python.version: '3.10'
Python311:
python.version: '3.11'
Python312:
python.version: '3.12'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
Настройте azure-pipelines.yml в соответствии с конфигурацией проекта.
- Если у вас другой пул агентов, измените параметр пула
name
. - При необходимости измените версию Python на версию, установленную на локальном агенте.
trigger:
- main
pool:
name: '<your-pool-name or default>'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: 'Use Python 3.12'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
Запустите ваш конвейер
Нажмите кнопку "Сохранить и запустить", а затем нажмите кнопку "Сохранить" и снова запустить.
На вкладке "Сводка " отображается состояние запуска конвейера.
Чтобы просмотреть артефакт сборки, выберите опубликованную ссылку на вкладке "Сводка".
На странице "Артефакты" показаны опубликованные артефакты сборки.
На странице "Артефакты" показаны опубликованные артефакты сборки.
Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".
Очистка
Завершив работу с этим кратким руководством, вы можете удалить созданный проект Azure DevOps.
- В вашем проекте выберите значок настроек в левом нижнем углу страницы.
- В нижней части страницы обзора проекта нажмите кнопку "Удалить".
- Введите имя проекта и нажмите кнопку "Удалить".
Поздравляем, вы успешно создали и запустили конвейер, который создал и протестировал приложение Python. Теперь вы можете использовать Azure Pipelines для создания, тестирования и развертывания приложений и сценариев Python в рамках системы непрерывной интеграции и непрерывной доставки (CI/CD).