Compartir vía


Inicio rápido: Creación de un grupo de DevOps administrado mediante la CLI de Azure

En este artículo se muestra cómo crear un grupo de DevOps administrado mediante la CLI de Azure y ejecutar una canalización en él.

Requisitos previos

Antes de completar los pasos de este artículo, debe haber configurado la suscripción de Azure y la organización de Azure DevOps para su uso con grupos de DevOps administrados, como se describe en el artículo Requisitos previos . Estos pasos solo deben completarse una vez por suscripción de Azure y la organización de Azure DevOps.

Instalación o ejecución en Azure Cloud Shell

La manera más fácil de aprender a usar la CLI de Azure es ejecutar un entorno de Bash en Azure Cloud Shell a través del explorador. Para más información acerca de Cloud Shell, consulte Guía de inicio rápido para Bash en Azure Cloud Shell.

Cuando esté listo para instalar la CLI de Azure, consulte las instrucciones de instalación del contenedor Windows, Linux, macOS y Docker.

Para comprobar la versión, ejecute az --version. Azure Cloud Shell siempre tiene la versión más reciente de la CLI de Azure preinstalada.

az version

Inicio de sesión en la CLI de Azure

Abra un símbolo del sistema (en Windows, use el símbolo del sistema de Windows o PowerShell) y ejecute los comandos siguientes. Si usa Azure Cloud Shell , no es necesario ejecutar az login a menos que quiera usar otra cuenta.

  1. Inicie sesión en la CLI de Azure.

    az login
    
  2. Si tiene más de una suscripción de Azure, establezca la suscripción predeterminada de Azure.

    az account set --subscription "My subscription name"
    

    Para obtener una lista de las suscripciones, puede ejecutar el siguiente comando.

    az account list -o table
    

    Si tiene varios inquilinos o quiere ver más información sobre cómo trabajar con una suscripción de Azure mediante la CLI de Azure, consulte Administración de suscripciones de Azure con la CLI de Azure.

Definición de las variables de entorno

  1. Ejecute los siguientes comandos para generar los nombres de los recursos en este inicio rápido. En este ejemplo se usa la EastUS2 región. Reemplace por EastUS2 la región deseada.

    export RANDOM_ID="$(openssl rand -hex 3)"
    export RESOURCE_GROUP_NAME="myManagedDevOpsPoolGroup$RANDOM_ID"
    export REGION=EastUS2
    export POOL_NAME="mdpPool$RANDOM_ID"
    export DEV_CENTER_NAME="mdpDevCenter$RANDOM_ID"
    export DEV_CENTER_PROJECT_NAME="mdpDevCenterProject$RANDOM_ID"
    
  2. Ejecute los siguientes comandos para revisar los nombres de los recursos.

    echo $RESOURCE_GROUP_NAME
    echo $POOL_NAME
    echo $DEV_CENTER_NAME
    echo $DEV_CENTER_PROJECT_NAME
    echo $REGION
    

Crear un grupo de recursos

  1. Ejecute el siguiente comando para crear el grupo de recursos para contener los recursos usados en este inicio rápido.

    az group create --name $RESOURCE_GROUP_NAME --location $REGION
    

Creación de un proyecto de centro de desarrollo y centro de desarrollo

  1. Instale la extensión de la CLI devcenter de Azure y asegúrese de que se actualiza a la versión más reciente si ya está instalada.

    az extension add --name devcenter --upgrade
    
  2. Ejecute los comandos siguientes para crear un proyecto de centro de desarrollo y centro de desarrollo.

    # Create a dev center
    az devcenter admin devcenter create -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION
    
    # Save the id of the newly created dev center
    DEVCID=$( \
        az devcenter admin devcenter show -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    
    # Create a dev center project
    az devcenter admin project create -n $DEV_CENTER_PROJECT_NAME \
        --description "My dev center project." \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION \
        --dev-center-id $DEVCID
    
    # Save the dev center project for use when creating
    # the Managed DevOps Pool
    DEVCPID=$( \
        az devcenter admin project show -n $DEV_CENTER_PROJECT_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    

    Después de unos instantes, la salida indica que se creó el Centro de desarrollo. El id del centro de desarrollo creado se guarda en DEVCID y se usa para crear el proyecto del centro de desarrollo.

    {
        "devCenterUri": "https://...",
        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/devcenters/devCenterName",
        "location": "eastus",
        "name": "devCenterName",
        "provisioningState": "Succeeded",
        "resourceGroup": "resourceGroupName",
        "systemData": { ... },
        "type": "microsoft.devcenter/devcenters"
    }
    

    Después de unos instantes más, la salida indica que se creó el proyecto del centro de desarrollo. El id elemento del proyecto del centro de desarrollo creado se guarda en DEVCPID y se usa al crear el grupo de DevOps administrado en la sección siguiente.

    {
      "description": "My dev center project.",
      "devCenterId": "...",
      "devCenterUri": "https://...",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/projects/devCenterProjectName",
      "location": "eastus",
      "name": "devCenterProjectName",
      "provisioningState": "Succeeded",
      "resourceGroup": "resourceGroupName",
      "systemData": { ... },
      "type": "microsoft.devcenter/projects"
    }
    

Preparación de los archivos de configuración del grupo de DevOps administrados

El mdp pool create método tiene varios parámetros que toman valores JSON que configuran distintos aspectos del grupo.

  • agent-profile especifica si el grupo es con estado o sin estado y contiene la programación del agente en espera. Es un diccionario con una sola clave denominada Stateful o Stateless, en función de la configuración del agente que desee. Para obtener más información sobre las agent-profile propiedades, consulte Configuración del escalado.
  • fabric-profile especifica el tamaño del agente, las imágenes de máquina virtual, el disco del sistema operativo y el almacenamiento conectado. Para obtener más información sobre las propiedades, consulte Configuración de la fabric-profile configuración del grupo y Configuración del almacenamiento adicional.
  • organization-profile especifica las organizaciones y proyectos de Azure DevOps que pueden usar el grupo. Para obtener más información sobre la organization-profile configuración, consulte Configuración de las opciones de seguridad: Configuración del acceso a la organización.

Cree los tres archivos siguientes y guárdelos en la carpeta donde planea ejecutar los comandos de la CLI de Azure para crear el grupo.

  1. Cree un nombre de archivo agent-profile.json con el siguiente contenido.

    {
      "Stateless": {}
    }
    

    Esta configuración especifica un agente sin estado para el grupo.

  2. Cree un archivo denominado fabric-profile.json con el siguiente contenido.

    {
      "vmss": {
        "sku": {
          "name": "Standard_D2as_v5"
        },
        "images": [
          {
            "aliases": [
              "ubuntu-22.04"
            ],
            "buffer": "*",
            "wellKnownImageName": "ubuntu-22.04/latest"
          }
        ],
        "osProfile": {
          "secretsManagementSettings": {
            "observedCertificates": [],
            "keyExportable": false
          },
          "logonType": "Service"
        },
        "storageProfile": {
          "osDiskStorageAccountType": "Standard",
          "dataDisks": []
        }
      }
    }
    

    Esta configuración especifica un grupo mediante la imagen de Standard_D2as_v5, la imagen ubuntu-22.04 de Azure Pipelines y un tipo de disco del sistema operativo estándar sin disco de datos conectado.

  3. Cree un archivo denominado organization-profile.json con el siguiente contenido. Reemplace <organization-name> por el nombre de la organización de Azure DevOps.

    {
      "AzureDevOps": {
        "organizations": [
          {
            "url": "https://dev.azure.com/<organization-name>",
            "projects": [],
            "parallelism": 1
          }
        ],
        "permissionProfile": {
          "kind": "CreatorOnly"
        }
      }
    }
    

    Esta configuración especifica un grupo que está disponible para todos los proyectos de la organización de Azure DevOps.

Creación del grupo de DevOps administrado

  1. Instale la mdp extensión y asegúrese de que se actualiza a la versión más reciente si ya está instalada.

     az extension add --name mdp --upgrade
    
  2. Cree el grupo de DevOps administrado mediante la ejecución del siguiente comando az mdp pool create .

    az mdp pool create -n $POOL_NAME \
       -g $RESOURCE_GROUP_NAME \
       -l $REGION \
       --devcenter-project-id $DEVCPID \
       --maximum-concurrency 1 \
       --agent-profile agent-profile.json \
       --fabric-profile fabric-profile.json \
       --organization-profile organization-profile.json
    

    Si la suscripción no tiene la capacidad de configurar el grupo con la SKU de máquina virtual de Azure deseada y el número máximo de agentes, la creación del grupo produce un error similar al siguiente mensaje. Cores needed to complete this request is 2, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97. Para resolver el problema, consulta Revisar las cuotas de grupos de DevOps administrados.

Visualización del grupo creado en Azure Portal

  1. Inicie sesión en Azure Portal.

  2. Busque Grupos de DevOps administrados y selecciónelo en las opciones disponibles.

  3. Elija el nuevo grupo de DevOps administrado en la lista.

  4. Elija Vista JSON para ver el formato JSON del recurso Grupos de DevOps administrados.

    Captura de pantalla del botón Vista JSON en información general del grupo.

Visualización del grupo de agentes en Azure DevOps

  1. Vaya al portal de Azure DevOps e inicie sesión en la organización de Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Vaya a Configuración de la organización de Azure DevOps>.

    Captura de pantalla del botón Configuración de la organización.

  3. Vaya a Grupos de agentes de canalizaciones> y compruebe que aparece el nuevo grupo. Si acaba de crear el grupo de DevOps administrado, puede tardar unos instantes en aparecer en la lista de agentes.

    Captura de pantalla de la lista Grupos de agentes.

Ejecución de una canalización en el nuevo grupo

En este paso, crearemos una canalización sencilla en el repositorio predeterminado de un proyecto de Azure DevOps y lo ejecutaremos en el nuevo grupo de DevOps administrado.

  1. Vaya al portal de Azure DevOps e inicie sesión en la organización de Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Vaya al proyecto donde desea ejecutar la canalización y elija Canalizaciones.

    Captura de pantalla de la lista Proyectos.

  3. Elija Nueva canalización (o Crear canalización si esta es la primera canalización).

    Captura de pantalla del botón nueva canalización.

  4. Elija Git de Azure Repos.

    Captura de pantalla de los tipos de repositorio.

  5. Elija el repositorio que tiene el mismo nombre que el proyecto. En este ejemplo, el proyecto se denomina FabrikamFiber, por lo que se elige el repositorio con el mismo nombre.

    Captura de pantalla del repositorio fabrikamFiber.

  6. Elija Canalización de inicio.

    Captura de pantalla de la lista de plantillas de canalización.

  7. De forma predeterminada, la plantilla de inicio usa un agente de Linux hospedado por Microsoft. Edite la plantilla de canalización y cambie la pool sección para que haga referencia al grupo que creó en los pasos anteriores.

    # Change these two lines as shown in the following example.
     pool:
      vmImage: ubuntu-latest
    

    En este ejemplo, los grupos de DevOps administrados se denominan fabrikam-managed-pool, por lo que reemplazan por vmImage: ubuntu-latest name: fabrikam-managed-poolsy especifican el nombre del grupo de DevOps administrado.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Elija Guardar y ejecutar y elija Guardar y ejecutar una segunda vez para confirmar.

    Captura de pantalla del botón Guardar y ejecutar.

  9. Si se trata de la primera ejecución de canalización en este grupo, es posible que se le pida que conceda permisos antes de que se ejecute la canalización.

  10. Vea la ejecución de la canalización en Azure DevOps y puede cambiar a Azure Portal y ver el agente en ejecución en la vista Agentes.

Limpieza de recursos

Si no va a seguir usando esta aplicación, elimine el grupo de recursos, el centro de desarrollo, el proyecto del centro de desarrollo y el grupo de DevOps administrados. En este inicio rápido se crearon todos los recursos de un nuevo grupo de recursos, por lo que puede eliminarlos todos mediante el comando az group delete para eliminar el grupo de recursos y todos sus recursos.

az group delete -n $RESOURCE_GROUP_NAME

Consulte también