共用方式為


建置和發佈 Python 應用程式

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

在本快速入門中,您會建立管線來建置及測試 Python 應用程式。 您會看到如何使用 Azure Pipelines 來建置、測試及部署 Python 應用程式和腳本,作為持續整合和持續傳遞 (CI/CD) 系統的一部分。

必要條件

Python 已預安裝在 Linux、macOS 和 Windows Microsoft 裝載的 代理程式上。 您不需要再設定任何項目來建置 Python 專案。 若要查看哪些 Python 版本已預安裝,請參閱 使用Microsoft裝載的代理程式

派生範例程序代碼

將範例 Python 存放庫分支至您的 GitHub 帳戶。

  1. 移至 python-sample-vscode-flask-tutorial 存放庫。
  2. 選取頁面右上角的Fork
  3. 連接您的 GitHub 帳戶。 根據預設,分支的名稱與父存放庫相同,但您可以將它命名為不同的名稱。

重要

在下列程式中,系統可能會提示您建立 GitHub 服務連線 ,或重新導向至 GitHub 以登入、安裝 Azure Pipelines 或授權 Azure Pipelines。 請遵循畫面上的指示來完成此程式。 如需詳細資訊,請參閱 存取 GitHub 存放庫

建立管線

  1. 在您的 Azure DevOps 專案中,選取 管線>建立管線,然後選取 GitHub 作為原始程式碼的位置。
  2. 在 [ 選取存放庫 ] 畫面上,選取分支範例存放庫。
  3. 在 [設定您的管線] 畫面上,選取 [入門管線]。

自訂您的管線

檢閱管線 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 以符合您的項目組態。

  • 如果您有不同的代理程式集區,請變更 pool 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'

執行您的流程

選取 [ 儲存並執行],然後選取 [ 儲存並再次執行 ]。

摘要標籤會顯示管線執行狀態。

若要檢視組建成品,請在 [摘要] 索引標籤中選取已發佈的連結。

已發佈組建工件鏈接的螢幕快照。

工件 頁面會顯示已發佈的組建工件。 已發佈組建成品的螢幕快照。

已完成 Python 作業的螢幕快照。

工件頁面會顯示已發佈的組建工件。 已發佈組建成品鏈接的螢幕快照。

若要檢視測試結果,請選取 [ 測試] 索引標籤。

管線測試結果的螢幕快照。

清理

當您完成本快速入門時,您可以刪除您所建立的 Azure DevOps 專案。

  1. 在您的專案中,選取 頁面左下角的 [項目設定 ] 齒輪圖示。
  2. 在 [專案概觀] 頁面底部,選取 [刪除]。
  3. 輸入專案名稱,然後選取 [ 刪除]。

恭喜您,您已成功建立並執行管線,以建置並測試 Python 應用程式。 現在,您可以使用 Azure Pipelines 來建置、測試及部署 Python 應用程式和腳本,作為持續整合和持續傳遞 (CI/CD) 系統的一部分。

下一步