使用 Azure 开发人员 CLI 创建 Azure DevOps CI/CD 管道

本文介绍如何使用 Azure 开发人员 CLI(azd)通过 Azure DevOps Pipelines(Azure Pipelines)为 azd 模板创建 CI/CD 管道。 通过管道可将更新推送到代码存储库,并自动预配更改并将其部署到 Azure 环境。

注释

azd pipeline config 命令处于 beta 阶段。 有关详细信息,请参阅 功能版本控制和发布策略

先决条件

初始化模板

此示例使用 Hello-AZD 模板,但你可以针对包含管道定义文件(在 .github.azdo 文件夹中找到)的任何模板执行这些步骤。

  1. 在空目录中,初始化 hello-azd 模板:

    azd init -t hello-azd
    
  2. 出现提示时,输入环境的名称(例如 hello-azd)。

设置 Azure Pipelines

注释

如果您在 Windows 上使用 Azure Pipelines 的 Java 模板,请参阅 故障排除指南

创建或使用 Azure Pipelines 组织

若要使用 Azure Pipelines,需要一个组织。 如果还没有https://dev.azure.com,请创建一个。

创建个人访问令牌(PAT)

Azure 开发人员 CLI 需要个人访问令牌(PAT)来配置 Azure Pipelines。 使用以下范围创建新的 PAT

  • 代理池(读取、管理)
  • 构建(读取和执行)
  • 代码(完整)
  • 项目和团队(读取、写入和管理)
  • 发布(读取、写入、执行和管理)
  • 服务连接(读取、查询和管理)

配置流水线

  1. 运行以下命令,使用部署管道配置 Azure Pipelines 项目和存储库:

    azd pipeline config --provider azdo
    

    注释

    默认情况下,azd pipeline config 对于 Azure Pipelines 使用客户端凭据。 目前不支持 OIDC/联合凭据。 了解有关 azd 的 OIDC 支持的详细信息。

  2. 响应提示:

    • 个人访问令牌 (PAT):

      • 粘贴 PAT。

      • (可选)将 PAT 导出为系统环境变量,以避免出现重复提示:

        export AZURE_DEVOPS_EXT_PAT=<PAT>
        
    • Azure Pipelines 组织名称:

      • 输入您的组织名称。 此值保存在 .env 当前环境的文件中。
    • 找不到名为“origin”的远程。 是否要配置一个?

      • 是的
    • 如何配置项目?

      • 创建新的 Azure Pipelines 项目
    • 输入新 Azure Pipelines 项目的名称或按 Enter 以使用此名称:({默认名称} )

      • 选择 Enter,或创建唯一的项目名称。
    • 是否提交并推送本地更改以启动配置的 CI 管道?

      • 是的
  3. 若要验证构建,请转到 Azure Pipelines 门户中的项目(https://dev.azure.com)。

进行代码更改并推送

  1. /src/components/pages 目录中,打开 Home.razor

  2. Hello AZD! 标头文本更改为 Hello, pipeline! 文件并保存文件。

  3. 创建分支并提交更改。 分支 main 受到保护,因此请从新分支推送更改并在 Azure Pipelines 中创建拉取请求。 拉取请求会触发管道,并在管道失败时阻止合并。

  4. 批准并合并您的拉取请求以重新启动流水线。

    对测试文件进行更改和提交更改所需的步骤的屏幕截图。

  5. 在浏览器中,打开你的项目存储库以查看你的提交和 Azure 管道运行。

    测试更新后运行的 GitHub 工作流的屏幕截图。

  6. 访问 Web 前端 URL 以检查更新。

azd 用于 Azure Pipelines 任务

在 Azure Pipelines 中添加azd作为一个任务,以在管道中安装azd。 将下列内容添加到 .azdo/pipelines/azure-dev.yml

trigger:
  - main
  - branch

pool:
  vmImage: ubuntu-latest
  # vmImage: windows-latest

steps:
  - task: setup-azd@0
    displayName: Install azd

清理资源

如果不再需要本文中创建的 Azure 资源,请运行:

azd down

后续步骤