你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure CLI 为 Azure 部署环境创建和配置开发人员中心

本快速入门指南介绍如何在 Azure 部署环境中创建和配置开发人员中心。

平台工程团队通常会设置开发人员中心、将外部目录附加到开发人员中心、创建项目,以及为开发团队提供访问权限。 然后,开发团队可以通过使用环境定义创建环境、连接到单个资源并部署应用程序。

先决条件

创建开发人员中心

若要在 Azure 部署环境中创建和配置开发人员中心,请执行以下操作:

  1. 登录 Azure CLI:

    az login
    
  2. 安装 Azure CLI devcenter 扩展。

    az extension add --name devcenter --upgrade
    
  3. 将默认订阅配置为要在其中创建开发人员中心的订阅:

    az account set --subscription <subscriptionName>
    
  4. 配置要创建开发人员中心的默认位置。 确保选择一个适用于 Azure 部署环境的区域

    az configure --defaults location=eastus
    
  5. 创建要在其中创建开发人员中心的资源组:

    az group create -n <resourceGroupName>
    
  6. 将默认资源组配置为创建的资源组:

    az config set defaults.group=<resourceGroupName>
    
  7. 创建开发人员中心:

    az devcenter admin devcenter create -n <devcenterName>
    

    几分钟后,输出指示它已创建好:

    {
       "devCenterUri": "https://...",
       "id": "/subscriptions/.../<devcenterName>",
       "location": "eastus",
       "name": "<devcenter name>",
       "provisioningState": "Succeeded",
       "resourceGroup": "<resourceGroupName>",
       "systemData": {
          "createdAt": "...",
          "createdBy": "...",
          ...
       },
       "type": "microsoft.devcenter/devcenters"
    }
    

注意

可以使用 --help 来查看有关任何命令、接受的参数和示例的更多详细信息。 例如,使用 az devcenter admin devcenter create --help 来查看有关创建开发人员中心的更多详细信息。

将个人访问令牌添加到 Azure Key Vault

你需要一个 Azure Key Vault 来存储 GitHub 个人访问令牌 (PAT),该令牌用于授予 Azure 对 GitHub 存储库的访问权限。

  1. 创建密钥保管库:

    # Change the name to something Globally unique
    az keyvault create -n <keyvaultName>
    

    注意

    你可能会收到以下错误:Code: VaultAlreadyExists Message: The vault name 'kv-devcenter-unique' is already in use. Vault names are globally unique so it is possible that the name is already taken.。必须使用全局独一无二的密钥保管库名称。

  2. 将 GitHub PAT 作为机密添加到 Key Vault:

    az keyvault secret set --vault-name <keyvaultName> --name GHPAT --value <personalAccessToken> 
    

将标识附加到开发人员中心

创建开发人员中心后,将标识附加到开发人员中心。 可以附加系统分配的托管标识或用户分配的托管标识。 了解两种标识类型

在本快速入门中,你将为开发人员中心配置系统分配的托管标识。

附加系统分配的托管标识

若要将系统分配的托管标识附加到开发人员中心,请执行以下操作:

az devcenter admin devcenter update -n <devcenterName> --identity-type SystemAssigned

为系统分配的托管标识授予对密钥保管库机密的访问权限

确保标识可以访问密钥保管库机密,机密中包含用于访问存储库的 GitHub PAT。 Key Vault 支持两种访问方法:Azure 基于角色的访问控制或保管库访问策略。 在本快速入门中,你将使用保管库访问策略。

  1. 检索开发人员中心的标识的对象 ID:

    OID=$(az ad sp list --display-name <devcenterName> --query [].id -o tsv)
    echo $OID
    
  2. 添加 Key Vault 策略,使开发人员中心可以从 Key Vault 获取机密:

    az keyvault set-policy -n <keyvaultName> --secret-permissions get --object-id $OID
    

将目录添加到开发人员中心

Azure 部署环境支持附加 Azure DevOps 存储库和 GitHub 存储库。 你可以将一组特选的 IaC 模板存储在存储库中。 将存储库作为目录附加到开发人员中心就可以使开发团队能够访问模板,并使其能够快速创建一致的环境。

在本快速入门中,你将附加一个 GitHub 存储库,其中包含由 Azure 部署环境团队创建和维护的示例。

若要将目录添加到开发人员中心,首先需要收集一些信息。

收集 GitHub 存储库信息

要添加目录,必须指定 GitHub 存储库 URL、分支和包含环境定义的文件夹。 可以在开始将目录添加到开发人员中心之前收集此信息。

你可以使用此示例目录作为存储库。 为以下步骤创建存储库的分支。

提示

如果要附加 Azure DevOps 存储库,请使用以下步骤:获取 Azure DevOps 存储库的克隆 URL

  1. 导航到你的存储库,选择“<> 代码”,然后复制克隆 URL。

  2. 记下正在使用的分支。

  3. 记下包含环境定义的文件夹。

    屏幕截图显示了 GitHub 存储库,其中突出显示了分支、复制 URL 和文件夹。

将目录添加到开发人员中心

  1. 检索机密标识符:

    SECRETID=$(az keyvault secret show --vault-name <keyvaultName> --name GHPAT --query id -o tsv)
    echo $SECRETID
    
  2. 添加目录。

    # Sample catalog example
    REPO_URL="https://github.com/Azure/deployment-environments.git"
    az devcenter admin catalog create --git-hub path="/Environments" branch="main" secret-identifier=$SECRETID uri=$REPO_URL -n <catalogName> -d <devcenterName>
    
  3. 确认是否已成功添加和同步目录:

    az devcenter admin catalog list -d <devcenterName> -o table
    

创建环境类型

使用环境类型可帮助定义开发团队可以部署的不同类型的环境。 可以为每个环境类型应用不同的设置。

  1. 创建环境类型:

    az devcenter admin environment-type create -d <devcenterName> -n <environmentTypeName> 
    
  2. 确认是否已创建环境类型:

    az devcenter admin environment-type list -d <devcenterName> -o table 
    

后续步骤

在本快速入门中,你创建了开发人员中心,并使用标识、目录和环境类型对它进行了配置。 若要了解如何创建和配置项目,请转到下一个快速入门。