Создание приложений 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 Server.
  • Локальный агент. Сведения о создании см. в разделе "Локальные агенты".
  • Версии Python, установленные на локальном агенте. Сведения об установке Python в агенте см. в разделе UsePythonVersion.

1. Вилка примера кода

Вилку примера репозитория Python в учетную запись GitHub.

  1. Перейдите в репозиторий python-sample-vscode-flask-tutorial .
  2. Выберите Вилку в правом верхнем углу страницы.
  3. Выберите учетную запись GitHub, в которой нужно вставить репозиторий, и введите имя для вилированного репозитория.

2. Создание конвейера

  1. Перейдите в Azure Pipelines и выберите "Пуск бесплатно". При появлении запроса войдите в учетную запись DevOps.

  2. Перейдите в проект и выберите "Создать конвейер конвейера>".

  3. Выберите GitHub в качестве расположения исходного кода.

  4. Если вы перенаправлены на GitHub для входа, введите учетные данные GitHub.

  5. Когда появится список репозиториев, выберите вилку репозитория.

  6. На вкладке "Настройка конвейера " выберите "Начальный конвейер".

  1. В браузере перейдите к коллекции DevOps Server.

  2. Перейдите в проект и выберите "Создать>конвейер".

  3. Выберите GitHub Enterprise Server в качестве расположения исходного кода.

  4. Если вы перенаправлены на GitHub для входа, введите учетные данные GitHub.

  5. Когда появится список репозиториев, выберите вилку репозитория.

  6. На вкладке "Настройка конвейера " выберите "Начальный конвейер".

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 Настройте конфигурацию проекта в соответствии с конфигурацией проекта.

  1. Замените созданный YAML следующим кодом. Этот код устанавливает необходимую версию Python и зависимости, упаковает пакет Python в ZIP-файл, опубликованный в конвейере, и выполняет тесты.
  2. Если у вас другой пул агентов, измените параметр пула name .
  3. Измените версию 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. Запуск конвейера

Сохраните и запустите конвейер.

  1. Выберите Сохранить и выполнить.
  2. В диалоговом окне "Сохранить и запустить" нажмите кнопку "Сохранить и запустить".
  3. На вкладке " Сводка " можно просмотреть состояние запуска конвейера.
  1. Выберите Выполнить.
  2. Номер сборки отображается в верхней части страницы. Выберите номер сборки, чтобы просмотреть сведения о сборке.

Снимок экрана: ссылка на сборку конвейера.

Снимок экрана: завершенные задания Python.

Чтобы просмотреть артефакт сборки. На вкладке "Сводка" выберите опубликованную ссылку.

Снимок экрана: ссылка на опубликованные артефакты сборки.

На странице "Артефакты" показаны опубликованные артефакты сборки.

Снимок экрана: опубликованные артефакты сборки.

Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".

Снимок экрана: результаты теста конвейера.

На вкладке "Сводка " отображается состояние запуска конвейера.

Снимок экрана: завершенное задание Python.

Чтобы просмотреть артефакт сборки, выберите опубликованную ссылку на вкладке "Сводка".

Снимок экрана: ссылка на опубликованные артефакты сборки.

Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".

Снимок экрана: результаты теста конвейера.

На вкладке "Сводка " отображается состояние запуска конвейера.

Снимок экрана: завершенное задание Python.

Чтобы скачать артефакт сборки, выберите ссылку раскрывающегося списка из опубликованного раздела "Артефакты сборки".

Чтобы просмотреть результаты теста, перейдите на вкладку "Тесты ".

Снимок экрана: результаты теста конвейера.

Очистка

Когда вы закончите работу с этим кратким руководством, вы можете удалить проект, созданный в Azure DevOps.

  1. Щелкните значок шестеренки параметров проекта в левом нижнем углу страницы.
  2. В нижней части страницы обзора проекта нажмите кнопку "Удалить".
  3. Введите имя проекта и нажмите кнопку "Удалить".

Поздравляем, вы успешно выполнили это краткое руководство!

Следующие шаги