使用 Azure CLI 创建和配置项目

在本快速入门中,将在 Azure 部署环境中创建项目。 然后将项目与在 “创建”中创建的开发人员中心相关联,并使用 Azure CLI 配置开发人员中心

平台工程团队通常创建项目,并提供对开发团队的项目访问权限。 然后,开发团队通过使用环境定义创建环境、连接到单个资源并部署应用程序。

先决条件

类别 要求
订阅 具有活动订阅的 Azure 帐户。 免费创建帐户
权限 有权在订阅中创建和管理资源的 Azure 基于角色的访问控制角色,例如参与者所有者
资源 - 开发人员中心

创建项目

要在您的开发人员中心创建项目,请执行以下操作:

  1. 登录 Azure CLI:

    az login
    
  2. 安装 Azure CLI 开发中心 扩展:

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

    az account set --subscription <subscriptionName>
    
  4. 将默认资源组配置为开发人员中心所在的资源组:

    az configure --defaults group=<resourceGroupName>
    
  5. 将默认位置配置为开发人员中心所在的位置。 项目的位置必须与开发人员中心的位置匹配。

    az configure --defaults ___location=eastus
    
  6. 检索开发中心资源 ID:

    $DEVCID = az devcenter admin devcenter show -n <devcenterName> --query id -o tsv
    Write-Output $DEVCID
    
  7. 在开发人员中心中创建项目:

    az devcenter admin project create -n <projectName> `
    --description "My first project." `
    --dev-center-id $DEVCID
    
  8. 确认已成功创建项目:

    az devcenter admin project show -n <projectName>
    

将“所有者”角色分配给托管标识

你必须为代表开发人员中心的托管标识授予访问权限,允许它访问你在其中配置项目环境类型的订阅,然后才能创建环境类型。

在本快速入门中,你将“所有者”角色分配给之前配置的系统分配的托管标识: 附加系统分配的托管标识

  1. 检索订阅 ID:

    $SUBID = az account show --name <subscriptionName> --query id -o tsv
    Write-Output $SUBID
    
  2. 使用开发中心资源的名称来检索开发中心标识的对象 ID:

    $OID = az ad sp list --display-name <devcenterName> --query [].id -o tsv
    Write-Output $OID
    
  3. 为开发人员中心分配订阅的所有者角色:

    az role assignment create --assignee $OID `
    --role "Owner" `
    --scope "/subscriptions/$SUBID"
    

配置项目

若要配置项目,请添加项目环境类型

  1. 检索订阅所有者的角色 ID:

    # Remove the group default scope for next the command. 
    az configure --defaults group=
    
    $ROID = az role definition list -n "Owner" --scope /subscriptions/$SUBID --query [].name -o tsv
    Write-Output $ROID
    
    # Set the default resource group again.
    az configure --defaults group=<resourceGroupName>
    
  2. 显示项目允许的环境类型:

    az devcenter admin project-allowed-environment-type list --project <projectName> --query [].name
    
  3. 选择环境类型并为项目创建它:

    $roles = "{`"$($ROID)`":{}}"
    az devcenter admin project-environment-type create `
        -n <availableEnvironmentType> `
        --project <projectName> `
        --identity-type "SystemAssigned" `
        --roles $roles `
        --deployment-target-id "/subscriptions/$SUBID" `
        --status Enabled
    

注释

必须至少为部署启用一个标识(系统分配的或用户分配的标识)。 该标识用于代表开发人员执行环境部署。 此外,应该为附加至开发人员中心的标识分配“所有者”角色,使其能访问每种环境类型的部署订阅。

分配环境访问权限

在本快速入门中,向自己的 ID 授予访问权限。 (可选)可以将以下命令的值 --assignee 替换为另一个成员的对象 ID。

  1. 获取自己的对象 ID:

    $MYOID = az ad signed-in-user show --query id -o tsv
    Write-Output $MYOID
    
  2. 分配管理员访问权限:

    az role assignment create --assignee $MYOID `
    --role "DevCenter Project Admin" `
    --scope "/subscriptions/$SUBID"
    
  3. (可选)可以分配开发环境用户角色:

    az role assignment create --assignee $MYOID `
    --role "Deployment Environments User" `
    --scope "/subscriptions/$SUBID"
    

注释

只有那些拥有部署环境用户角色、DevCenter 项目管理员角色或具有相应权限的内置角色的用户才能创建环境。 具有 部署环境读取者 角色的用户可以查看其他人创建自己的环境和环境。

后续步骤

在本快速入门中,你创建了一个项目,并授予了项目访问权限给你的开发团队。 若要了解开发团队成员如何创建环境,请转到下一快速入门: