建置 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 的 Microsoft 裝載組建代理程式 上。 若要查看哪些 Python 版本已預安裝,請參閱 使用 Microsoft 裝載的代理程式

必要條件

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. 如果您有不同的代理程式集區,請變更 pool 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. 輸入專案名稱,然後選取 [ 刪除]。

恭喜,您已成功完成本快速入門!

下一步