生成 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 托管的代理。
先决条件
- GitHub 帐户,可在其中创建存储库。 免费创建一个。
- Azure DevOps 组织。 免费创建一个。
- 一个 Azure DevOps 项目。 使用 Azure DevOps 项目创建向导来创建一个项目。
- 能够在 Microsoft 托管的代理上运行管道。 可以购买并行作业,也可以请求免费层。
- GitHub 帐户,可在其中创建存储库。 免费创建一个。
- 一个 Azure DevOps Server。
- 一个 Azure DevOps 项目。 使用 Azure DevOps Server 项目创建向导来创建一个项目。
- 自托管代理。 若要创建一个代理,请参阅自托管代理。
- 安装在自托管代理上的 Python 版本。 若要了解如何在代理上安装 Python,请参阅 UsePythonVersion。
1. 创建示例代码分支
对 GitHub 帐户创建示例 Python 存储库分支。
- 转到 python-sample-vscode-flask-tutorial 存储库。
- 选择页面右上角的分支。
- 选择要在其中对存储库创建分支的 GitHub 帐户,然后为分支存储库输入名称。
2. 创建管道
转到 Azure Pipelines 并选择免费开始。 如果出现提示,请登录到你的 DevOps 帐户。
转到项目,然后选择管道>创建管道。
选择 GitHub 作为源代码位置。
如果已重定向到 GitHub 进行登录,请输入 GitHub 凭据。
显示存储库列表时,请选择分支示例存储库。
在配置管道选项卡上,选择入门管道。
在浏览器中,转到 DevOps Server 集合。
转到项目并选择管道>创建新管道。
选择 GitHub Enterprise Server 以作为源代码的位置。
如果已重定向到 GitHub 进行登录,请输入 GitHub 凭据。
显示存储库列表时,请选择分支示例存储库。
在配置管道选项卡上,选择入门管道。
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
以匹配项目配置。
- 将生成的 YAML 替换为以下代码。 此代码将安装所需的 Python 版本和依赖项,将 Python 包打包为 zip 文件并发布到管道,然后运行测试。
- 如有其他代理池,则请更改池
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'
4. 运行管道
保存并运行管道。
- 选择保存并运行。
- 在保存并运行对话框中,选择保存并运行。
- 在摘要选项卡中,可看到管道运行的状态。
- 选择运行。
- 内部版本号将显示在页面顶部。 选择该内部版本号以查看此生成的详细信息。
用于查看生成项目。 在摘要选项卡中选择已发布链接。
项目页面会显示已发布的生成项目。
若要查看测试结果,请选择测试选项卡。
摘要选项卡会显示管道运行的状态。
若要查看生成项目,请在摘要选项卡中选择已发布链接。
若要查看测试结果,请选择测试选项卡。
摘要选项卡会显示管道运行的状态。
若要下载生成项目,请从已发布的生成项目部分选择删除链接。
若要查看测试结果,请选择测试选项卡。
清理
完成本快速入门后,便可删除在 Azure DevOps 中创建的项目。
- 在此页面的左下角选择项目设置齿轮图标。
- 在项目概述页面底部,选择删除。
- 输入项目名称,然后选择删除。
恭喜,你已成功完成本快速入门!
后续步骤
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈