在本快速入门中,将在 Azure 部署环境中创建和配置开发人员中心。
平台工程团队通常设置开发人员中心,将外部目录附加到开发人员中心,创建项目,并提供对开发团队的访问权限。 然后,开发团队可以使用环境定义、连接到单个资源以及部署应用程序来创建环境。
先决条件
类别 | 要求 |
---|---|
蔚蓝 | - Azure 订阅。 - 有权在订阅中创建和管理资源(例如 参与者 或 所有者)的 Azure 基于角色的访问控制角色。 - Azure CLI 开发中心扩展。 |
GitHub | 具有存储库访问权限的 GitHub 帐户和个人 访问令牌 。 |
创建开发人员中心
若要在 Azure 部署环境中创建和配置开发人员中心,请执行以下作:
登录 Azure CLI:
az login
安装 Azure CLI 开发中心 扩展。
az extension add --name devcenter --upgrade
将默认订阅配置为要在其中创建开发人员中心的订阅:
az account set --subscription <subscriptionName>
配置要在其中创建开发人员中心的默认位置。 请确保选择 支持 Azure 部署环境的区域。
az configure --defaults ___location=eastus
创建要在其中创建开发人员中心的资源组:
az group create -n <resourceGroupName>
将默认资源组配置为创建的资源组:
az config set defaults.group=<resourceGroupName>
创建开发人员中心:
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 来存储用于授予 Azure 对 GitHub 存储库的访问权限的 GitHub 个人访问令牌(PAT)。
创建密钥保管库:
# Use a globally unique name az keyvault create -n <keyvaultName>
注释
可能会收到以下错误:
Code: VaultAlreadyExists Message: The vault name 'kv-devcenter' is already in use. Vault names are globally unique so it is possible that the name is already taken.
必须使用全局唯一的密钥保管库名称。为你自己分配“密钥保管库机密主管”RBAC 角色:
az role assignment create --assignee <YourPrincipalId> --role "Key Vault Secrets Officer" --scope /subscriptions/<YourSubscriptionId>/resourceGroups/<YourResourceGroupName>/providers/Microsoft.KeyVault/vaults/<YourKeyVaultName>
将 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 基于角色的访问控制(RBAC)和保管库访问策略。 在本快速入门中,你使用 RBAC:
az role assignment create --role "Key Vault Secrets Officer" --assignee <devCenterManagedIdentityObjectID> --scope /subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.KeyVault/vaults/<keyVaultName>
将目录添加到开发人员中心
Azure 部署环境支持附加 Azure DevOps 存储库和 GitHub 存储库。 你可以将一组特选的 IaC 模板存储在存储库中。 将存储库附加到开发人员中心作为目录,可授予开发团队对模板的访问权限,并允许他们快速创建一致的环境。
在本快速入门中,你将附加一个 GitHub 存储库,其中包含由 Azure 部署环境团队创建和维护的示例。
若要将目录添加到开发人员中心,首先需要收集一些信息。
收集 GitHub 存储库信息
若要添加目录,必须指定 GitHub 存储库 URL、分支和包含环境定义的文件夹。 在开始将目录添加到开发人员中心之前,可以收集此信息。
可以使用此示例 目录 作为存储库。 为以下步骤创建存储库的分支。
小提示
如果要附加 Azure DevOps 存储库,请使用以下步骤: 获取 Azure DevOps 存储库的克隆 URL。
将目录添加到开发者中心
检索机密标识符:
$SECRETID = az keyvault secret show --vault-name <keyvaultName> --name GHPAT --query id -o tsv Write-Output $SECRETID
添加目录:
# Sample catalog example $REPO_URL = "<clone URL that you copied earlier>" az devcenter admin catalog create --git-hub path="/Environments" branch="main" secret-identifier=$SECRETID uri=$REPO_URL -n <catalogName> -d <devcenterName>
确认已成功添加和同步目录:
az devcenter admin catalog list -d <devcenterName> -o table
创建环境类型
使用环境类型可帮助定义开发团队可以部署的不同类型的环境。 可以为每个环境类型应用不同的设置。
创建环境类型:
az devcenter admin environment-type create -d <devcenterName> -n <environmentTypeName>
确认已创建环境类型:
az devcenter admin environment-type list -d <devcenterName> -o table
后续步骤
在本快速入门中,你创建了开发人员中心,并使用标识、目录和环境类型对它进行了配置。 若要了解如何创建和配置项目,请转到下一快速入门: