Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
В этом кратком руководстве вы создадите конвейер, который создает и тестирует приложение Python. Вы узнаете, как использовать Azure Pipelines для создания, тестирования и развертывания приложений и сценариев Python в рамках системы непрерывной интеграции и непрерывной доставки (CI/CD).
Предварительные условия
Python предварительно установлен на агентах, хостингующихся на Microsoft для Linux, macOS и Windows. Вам не нужно ничего больше настраивать для создания проектов Python. Чтобы узнать, какие версии Python предварительно установлены, см. статью Software.
| Продукт | Требования |
|---|---|
| Azure DevOps | - Проект Azure DevOps. — способность запуска потоков на хостинговых агентах Microsoft. Вы можете приобрести параллельное задание или запросить уровень "Бесплатный". — Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер. Разрешения - : — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами. — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб. |
| GitHub | — учетная запись GitHub. - Подключение службы GitHub для авторизации Azure Pipelines. |
| Продукт | Требования |
|---|---|
| Azure DevOps | - Проект Azure DevOps. — локальный агент с установленной версией Python 3.12 или другой версией Python. Сведения о создании см. в разделе "Локальные агенты". — Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер. Разрешения - : — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами. — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб. |
| GitHub | — учетная запись GitHub. - Подключение службы GitHub для авторизации Azure Pipelines. |
Внимание
Для процедур GitHub может потребоваться выполнить одно или несколько следующих действий в GitHub:
- Войти.
- Авторизация Azure Pipelines.
- Проверка подлинности в организациях GitHub.
- Установите приложение Azure Pipelines.
Следуйте инструкциям, чтобы завершить необходимые процессы. Дополнительные сведения см. в разделе Доступ к репозиториям GitHub.
Создать форк примера кода
Форкните репозиторий с примером Python в вашу учетную запись GitHub.
- Перейдите в репозиторий python-sample-vscode-flask-tutorial .
- Выберите вилку в правом верхнем углу.
- Убедитесь, что имя учетной записи GitHub выбрано в разделе "Владелец" и нажмите кнопку "Создать вилку". Вилки по умолчанию называются так же, как и родительский репозиторий, но вы можете присвоить ему другое имя.
Создание конвейера
- В проекте Azure DevOps выберите Конвейеры в меню навигации слева, а затем выберите "Создать конвейер" или "Создать конвейер ", если этот конвейер является первым в проекте.
- На экране "Где находится код " выберите GitHub в качестве расположения исходного кода.
- На экране "Выбор репозитория " выберите вилку пример репозитория Python.
- На экране "Настройка конвейера" выберите "Начальный конвейер".
Настройка конвейера
На экране проверки конвейера YAML замените содержимое созданного 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'
На экране проверки конвейера YAML замените содержимое созданного azure-pipelines.yml файла следующим кодом. Код выполняет следующие действия:
- Устанавливает необходимую версию Python и зависимости.
- Пакеты упаковывают артефакты в ZIP-архив.
- Публикует архив в ваш конвейер.
- Выполняет тесты
Настройте azure-pipelines.yml в соответствии с конфигурацией проекта.
- Если у вас другой пул агентов, замените заполнитель пула
nameименем пула илиdefault. - При необходимости измените Python
versionSpecна версию, установленную на локальном агенте.
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'
Запустите ваш конвейер
Нажмите кнопку "Сохранить и запустить", а затем нажмите кнопку "Сохранить" и снова запустить. Вы можете выбрать задание на экране сводки , чтобы увидеть задание в действии.
Задание выполняется три раза один раз для каждой указанной версии Python. Три версии могут выполняться параллельно с разными агентами.
Просмотр артефактов и результатов теста
Чтобы просмотреть артефакты сборки, выберите опубликованную ссылку [N] на вкладке "Сводка ".
На странице "Артефакты" показаны опубликованные артефакты сборки.
Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".
Очистка
Если вы закончите работу с созданным конвейером, его можно удалить.
Выберите конвейеры из меню навигации в левом меню проекта.
В списке конвейеров наведите указатель мыши на созданный конвейер, щелкните значок "Дополнительные действия " справа, а затем нажмите кнопку "Удалить".
Или выберите конвейер и на странице конвейера щелкните значок "Дополнительные действия " в правом верхнем углу и нажмите кнопку "Удалить".
Введите имя конвейера и снова нажмите кнопку "Удалить ".
Вы успешно создали и запустили конвейер, который создал и проверил приложение Python. Теперь вы можете использовать Azure Pipelines для создания, тестирования и развертывания приложений и сценариев Python в рамках процесса CI/CD.