相关文章推荐
高大的眼镜  ·  使用AudioContext和WebSock ...·  2 月前    · 
耍酷的作业本  ·  设置屏幕分辨率·  7 月前    · 
魁梧的啄木鸟  ·  vue3.0 ...·  1 年前    · 

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

可以使用 Azure Pipelines 生成、测试和部署 Python 应用和脚本作为 CI/CD 系统的一部分。 本文重点介绍如何创建基本管道。 本快速入门介绍如何创建简单 Flask 应用并使用 Azure DevOps 进行部署,该应用有三个使用通用基本模板的页面。

无需为 Azure Pipelines 设置任何内容即可生成 Python 项目。 Python 预安装在适用于 Linux、macOS 或 Windows 的 Microsoft 托管生成代理 上。 要查看预安装的 Python 版本,请参阅 使用 Microsoft 托管的代理

要了解如何在管道中配置 Python,请参阅 自定义 Python

如果需要更复杂的示例,请参阅 使用 CI/CD 将 Python Web 应用部署到 Linux 上的 Azure 应用服务

Azure DevOps 中必须具有以下项:

  • GitHub 帐户,可在其中创建存储库。 免费创建一个
  • Azure DevOps 组织和项目。 免费创建一个
  • 能够在 Microsoft 托管的代理上运行管道。 可以购买 并行作业 ,也可以请求免费层。
  • 1 - 分支示例代码

    在 Azure DevOps Server 2019 中将此存储库导入 Git 存储库:

    对于以下示例 Python Flask 教程:

    https://github.com/Microsoft/python-sample-vscode-flask-tutorial
    

    2 - 创建管道

  • 登录到 Azure Pipelines。 浏览器将转到 https://dev.azure.com/my-organization-name 并显示 Azure DevOps 仪表板。

  • 转到项目并选择“管道”>“创建新管道”。

  • 选择“GitHub”作为源代码位置。

  • 如果已重定向到 GitHub 进行登录,请输入 GitHub 凭据。

  • 显示存储库列表时,请选择你的 Node.js 示例存储库。

  • Azure Pipelines 分析存储库中的代码,并为管道推荐 Python package 模板。 选择该模板。

  • Azure Pipelines 为管道生成 YAML 文件。 选择“保存并运行”>“直接提交到主分支”,然后再次选择“保存并运行”。

  • 这样将开始新的运行。 等待运行完成。

    完成后,存储库中有一个 YAML 文件 azure-pipelines.yml,可供自定义。

    自定义管道

  • 编辑存储库中的 azure-pipelines.yml 文件并更新 Python 版本引用。
  • trigger:
    - main
    pool:
      vmImage: ubuntu-latest
    strategy:
      matrix:
        Python37:
          python.version: '3.7'
        Python38:
          python.version: '3.8'
        Python39:
          python.version: '3.9'
        Python310:
          python.version: '3.10'
    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'
    - script: |
        pip install pytest pytest-azurepipelines
        pytest
      displayName: 'pytest'