建置和發佈 Python 應用程式
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
在本快速入門中,您會建立管線來建置及測試 Python 應用程式。 您會看到如何使用 Azure Pipelines 來建置、測試及部署 Python 應用程式和腳本,作為持續整合和持續傳遞 (CI/CD) 系統的一部分。
必要條件
- 您可以在其中建立存放庫的 GitHub 帳戶。 免費建立 GitHub 帳戶。
- Azure DevOps 組織。 免費建立一個。
- Azure DevOps 專案。 使用 Azure DevOps 專案建立精靈建立一個。
- 能夠在Microsoft裝載的代理程式上執行管線。 您必須 要求平行作業 的免費授與,或購買 平行作業。
Python 已預安裝在 Linux、macOS 和 Windows Microsoft 裝載的 代理程式上。 您不需要再設定任何項目來建置 Python 專案。 若要查看哪些 Python 版本已預安裝,請參閱 使用Microsoft裝載的代理程式。
- 您可以在其中建立存放庫的 GitHub 帳戶。 免費建立 GitHub 帳戶。
- Azure DevOps 組織。 免費建立一個。
- Azure DevOps 專案。 使用 Azure DevOps 專案建立精靈建立一個。
- 自我裝載代理程式。 若要建立一個代理程式,請參閱 自我裝載代理程式。
- 安裝在自我裝載代理程式上的 Python。 若要在代理程式上安裝 Python,請參閱 UsePythonVersion。
派生範例程序代碼
將範例 Python 存放庫分支至您的 GitHub 帳戶。
- 移至 python-sample-vscode-flask-tutorial 存放庫。
- 選取 頁面右上角的 [分支 ]。
- 連接您的 GitHub 帳戶。 根據預設,分支的名稱與父存放庫相同,但您可以將它命名為不同的名稱。
重要
在下列程式中,系統可能會提示您建立 GitHub 服務連線 ,或重新導向至 GitHub 以登入、安裝 Azure Pipelines 或授權 Azure Pipelines。 請遵循畫面上的指示來完成此程式。 如需詳細資訊,請參閱 存取 GitHub 存放庫。
建立管線
- 在您的 Azure DevOps 專案中,選取 [管線建立管線>],然後選取 [GitHub] 作為原始程式碼的位置。
- 在 [ 選取存放庫 ] 畫面上,選取分支範例存放庫。
- 在 [設定您的管線] 畫面上,選取 [入門管線]。
自訂您的管線
在 [ 檢閱管線 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'
執行您的管線
選取 [ 儲存並執行],然後選取 [ 儲存並再次執行 ]。
[摘要] 索引標籤會顯示管線執行的狀態。
若要檢視組建成品,請在 [摘要] 索引標籤中選取已發佈的連結。
[ 成品] 頁面會顯示已發佈的組建成品。
[ 成品] 頁面會顯示已發佈的組建成品。
若要檢視測試結果,請選取 [ 測試] 索引標籤。
選取執行。
組建編號會顯示在頁面頂端。 選取組建編號以查看組建的詳細數據。
[摘要] 索引標籤會顯示管線執行的狀態。
若要下載組建成品,請從 [已發佈的組建成品] 區段中選取卸除連結。
若要檢視測試結果,請選取 [ 測試] 索引標籤。
清理
當您完成本快速入門時,您可以刪除您所建立的 Azure DevOps 專案。
- 在您的專案中,選取 頁面左下角的 [項目設定 ] 齒輪圖示。
- 在 [專案概觀] 頁面底部,選取 [刪除]。
- 輸入專案名稱,然後選取 [ 刪除]。
恭喜您,您已成功建立並執行管線,以建置並測試 Python 應用程式。 現在,您可以使用 Azure Pipelines 來建置、測試及部署 Python 應用程式和腳本,作為持續整合和持續傳遞 (CI/CD) 系統的一部分。