Создание приложений Python
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Azure Pipelines можно использовать для создания, тестирования и развертывания приложений и сценариев Python в рамках системы CI/CD.
Из этого краткого руководства вы узнаете, как создать конвейер для создания и тестирования приложения Python.
Вам не нужно ничего настраивать для Azure Pipelines для создания проектов Python. Python предварительно установлен в агентах сборки, размещенных в Майкрософт, для Linux, macOS или Windows. Чтобы узнать, какие версии Python предварительно установлены, см. статью "Использование размещенного корпорацией Майкрософт агента".
Необходимые компоненты
- Учетная запись GitHub, в которой можно создать репозиторий. Создайте ее бесплатно.
- Организация Azure DevOps. Создайте ее бесплатно.
- Проект Azure DevOps. Создайте его с помощью мастера создания проекта Azure DevOps.
- Возможность запуска конвейеров на размещенных агентах Майкрософт. Вы можете приобрести параллельное задание или запросить уровень "Бесплатный".
- Учетная запись GitHub, в которой можно создать репозиторий. Создайте ее бесплатно.
- Сервер Azure DevOps.
- Проект Azure DevOps. Создайте его с помощью мастера создания проектов Azure DevOps Server.
- Локальный агент. Сведения о создании см. в разделе "Локальные агенты".
- Версии Python, установленные на локальном агенте. Сведения об установке Python в агенте см. в разделе UsePythonVersion.
1. Вилка примера кода
Вилку примера репозитория Python в учетную запись GitHub.
- Перейдите в репозиторий python-sample-vscode-flask-tutorial .
- Выберите Вилку в правом верхнем углу страницы.
- Выберите учетную запись GitHub, в которой нужно вставить репозиторий, и введите имя для вилированного репозитория.
2. Создание конвейера
Перейдите в Azure Pipelines и выберите "Пуск бесплатно". При появлении запроса войдите в учетную запись DevOps.
Перейдите в проект и выберите "Создать конвейер конвейера>".
Выберите GitHub в качестве расположения исходного кода.
Если вы перенаправлены на GitHub для входа, введите учетные данные GitHub.
Когда появится список репозиториев, выберите вилку репозитория.
На вкладке "Настройка конвейера " выберите "Начальный конвейер".
В браузере перейдите к коллекции DevOps Server.
Перейдите в проект и выберите "Создать>конвейер".
Выберите GitHub Enterprise Server в качестве расположения исходного кода.
Если вы перенаправлены на GitHub для входа, введите учетные данные GitHub.
Когда появится список репозиториев, выберите вилку репозитория.
На вкладке "Настройка конвейера " выберите "Начальный конвейер".
3. Настройка конвейера
Замените созданное azure-pipelines.yml содержимое файла следующим кодом. Этот код устанавливает необходимую версию Python и зависимости, упаковает пакет 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
Настройте конфигурацию проекта в соответствии с конфигурацией проекта.
- Замените созданный YAML следующим кодом. Этот код устанавливает необходимую версию Python и зависимости, упаковает пакет Python в ZIP-файл, опубликованный в конвейере, и выполняет тесты.
- Если у вас другой пул агентов, измените параметр пула
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'
4. Запуск конвейера
Сохраните и запустите конвейер.
- Выберите Сохранить и выполнить.
- В диалоговом окне "Сохранить и запустить" нажмите кнопку "Сохранить и запустить".
- На вкладке " Сводка " можно просмотреть состояние запуска конвейера.
- Выберите Выполнить.
- Номер сборки отображается в верхней части страницы. Выберите номер сборки, чтобы просмотреть сведения о сборке.
Чтобы просмотреть артефакт сборки. На вкладке "Сводка" выберите опубликованную ссылку.
На странице "Артефакты" показаны опубликованные артефакты сборки.
Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".
На вкладке "Сводка " отображается состояние запуска конвейера.
Чтобы просмотреть артефакт сборки, выберите опубликованную ссылку на вкладке "Сводка".
Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".
На вкладке "Сводка " отображается состояние запуска конвейера.
Чтобы скачать артефакт сборки, выберите ссылку раскрывающегося списка из опубликованного раздела "Артефакты сборки".
Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".
Очистка
Когда вы закончите работу с этим кратким руководством, вы можете удалить проект, созданный в Azure DevOps.
- Щелкните значок шестеренки параметров проекта в левом нижнем углу страницы.
- В нижней части страницы обзора проекта нажмите кнопку "Удалить".
- Введите имя проекта и нажмите кнопку "Удалить".
Поздравляем, вы успешно выполнили это краткое руководство!
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по