Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
В этом кратком руководстве вы создадите конвейер, который создает и тестирует приложение 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.