Compartir a través de


Configuración de personalizaciones de equipo

Use la característica personalizaciones de Microsoft Dev Box para simplificar la configuración de entornos de desarrollo basados en la nube. Iniciar un nuevo proyecto o unirse a un nuevo equipo puede ser complejo y lento. Las personalizaciones de equipo usan un archivo de definición de imagen (imagedefinition.yaml) para preinstalar herramientas, clonar repositorios y establecer la configuración de cada entorno de equipo de desarrollo. Con las personalizaciones de equipo, los administradores pueden proporcionar estaciones de trabajo listas para codificar con aplicaciones, herramientas, repositorios, bibliotecas de código, paquetes y scripts de compilación. En este artículo se muestra cómo crear, probar y editar un archivo de definición de imagen para el cuadro de desarrollo en Visual Studio Code.

Puede usar personalizaciones en Dev Box de dos maneras. Las personalizaciones de equipo crean una configuración compartida para un equipo. Las personalizaciones de usuario crean una configuración personal para un desarrollador individual. En la lista siguiente se resumen las diferencias entre estos tipos de personalización.

  • Personalizaciones de equipo: definidas una vez, aplicadas a cada entorno de desarrollo de un grupo mediante imagedefinition.yaml en un catálogo.
  • Personalizaciones de usuario: YAML personalizado cargado durante la creación de la caja; solamente afecta a esa caja.
  • Usar equipo para la coherencia y el cumplimiento; usar usuario para las preferencias personales.

Para obtener más información, consulte Personalizaciones de Microsoft Dev Box.

Configure las personalizaciones del equipo siguiendo estos pasos:

Diagrama que muestra el flujo de trabajo de cinco pasos para las personalizaciones de equipo en Microsoft Dev Box.

Prerrequisitos

Producto Requisitos
Microsoft Dev Box - Configurar centro de desarrollo con una definición de equipo de desarrollo, un grupo de equipo de desarrollo y un proyecto de equipo de desarrollo para poder crear un cuadro de desarrollo.
- Adjunte un catálogo al centro de desarrollo con tareas que puede usar en el archivo de definición de imagen. Si no tiene un catálogo, consulte Agregar y configurar un catálogo desde GitHub o Azure Repos.
- Permisos
- Para crear un cuadro de desarrollo: Únase al grupo de seguridad de usuarios de Dev Box para al menos un proyecto.
- Para habilitar catálogos de nivel de proyecto para un centro de desarrollo: Ingeniero de plataforma con acceso de escritura en la suscripción.
- Para habilitar la configuración de sincronización de catálogos para un proyecto: Ingeniero de plataforma con acceso de escritura en la suscripción.
- Para adjuntar un catálogo a un proyecto: Permisos de colaborador o administrador de proyectos del Centro de desarrollo en el proyecto.
Visual Studio Code - Instalación de la versión más reciente

Creación de un archivo de definición de imagen

Para definir las herramientas, los paquetes y las configuraciones que necesita el equipo, cree un archivo de definición de imagen en formato YAML que muestre las tareas necesarias para el entorno de desarrollo.

Uso de tareas integradas o un catálogo para tareas personalizadas

Las tareas son acciones reutilizables que proceden de primitivos integrados (WinGet, PowerShell y Git-Clone) o de un catálogo que adjunte al proyecto del centro de desarrollo. Elija el origen que mejor se adapte a sus necesidades de personalización y los requisitos del proyecto.

  • Use las tareas integradas de WinGet, PowerShell y Git-Clone. Los centros de desarrollo de Dev Box admiten tareas de PowerShell y WinGet de manera inmediata. Si las personalizaciones solo requieren PowerShell, WinGet o Git-Clone puede empezar a trabajar con estas tareas integradas y crear el archivo de definición de imagen. Para obtener más información, consulte Creación de un archivo de definición de imagen.

    Importante

    La tarea integrada de WinGet no es la misma que el ejecutable de WinGet. La tarea integrada de WinGet se basa en el cmdlet WinGet de PowerShell.

  • Use un catálogo para definir tareas personalizadas. Cree sus propias tareas personalizadas. Para que las tareas personalizadas estén disponibles para toda la organización, adjunte un catálogo que tenga definiciones de tareas personalizadas al centro de desarrollo. Dev Box admite catálogos de Azure Repos y GitHub. Dado que las tareas solo se definen en el centro de desarrollo, almacene las tareas y las definiciones de imagen en repositorios independientes.

    Para obtener más información sobre cómo definir tareas personalizadas, consulte Configuración de tareas para personalizaciones de Dev Box.

Dev Box admite un flujo de trabajo agente con el modo de agente de GitHub Copilot. Use avisos de lenguaje natural para generar el archivo de definición de imagen (imagedefinition.yaml). GitHub Copilot facilita la configuración del entorno de Dev Box, ya que describe sus necesidades de forma conversacional en lugar de crear manualmente archivos YAML.

El flujo de trabajo agente de Dev Box le permite:

  • Imitar el entorno de desarrollo actual : genere o cambie una definición que coincida con la configuración de la máquina actual.
  • Uso del contexto del repositorio : cree o cambie una definición en el contexto de un repositorio de GitHub específico.
  • Use instrucciones de lenguaje natural : genere un archivo de definición de imagen mediante la descripción del entorno de desarrollo que desee.

Nota:

El flujo de trabajo agente solo admite tareas primitivas de Dev Box, como WinGet, PowerShell y Git-Clone.

Generación del archivo de definición de imagen

  1. Abre Visual Studio Code.

  2. Instale la extensión Dev Box.

    Abra Extensiones (Ctrl+Mayús+X), busque Dev Box e instale la extensión.

    Captura de pantalla del panel Extensiones en Visual Studio Code, en la que se muestra la extensión Dev Box.

  3. Instale la extensión De Copilot de GitHub configurada en VS Code.

  4. Asegúrese de que el modo de agente está habilitado estableciendo chat.agent.enabled en el editor de configuración. Esta configuración requiere Visual Studio Code 1.99 o posterior.

  5. Abra Chat de Copilot en VS Code.

    • Asegúrese de que las herramientas de Dev Box están preseleccionadas en Seleccionar herramientas.

      Captura de pantalla del panel Chat de Copilot en Visual Studio Code, en la que se muestran las herramientas de Dev Box preseleccionadas.

      Captura de pantalla de la interfaz de chat de Copilot en Visual Studio Code.

    • Seleccione Modo de agente y elija el modelo: Claude 3.5 Sonnet.

      Captura de pantalla de la selección del modo de agente en Copilot Chat, que muestra el modelo Claude 3.5 Sonnet.

  6. Proporcione avisos de lenguaje natural, como:

    • "Quiero configurar un cuadro de desarrollo con todas las herramientas y paquetes necesarios para trabajar en este repositorio [nombre del repositorio].

    • "Quiero preinstalar Visual Studio 2022 Enterprise, Visual Studio Code, Git, SDK de .NET 8, Node.js LTS y Docker Desktop en un cuadro de desarrollo y hacer que el repositorio del equipo [URL] se clone en el cuadro de desarrollo".

    • "Quiero configurar una caja de desarrollo con todas las herramientas de desarrollo y paquetes instalados en mi máquina actual".

    Sugerencia

    Clone y abra el repositorio específico en Visual Studio Code si desea generar la definición en el contexto de un repositorio.

  7. Siga las indicaciones para configurar paquetes.

    • Cuando se le solicite, seleccione Continuar para continuar con la configuración del paquete.

    • Copilot genera el archivo imagedefinition.yaml .

  8. Afinar con más indicaciones.

    • Continúe interactuando con el agente hasta que aparezcan las herramientas y los paquetes que desea que aparezcan en el archivo.

Carga del archivo de definición de imagen en un repositorio

Puede usar un repositorio de GitHub o Azure Repos como catálogo para que el archivo de definición de imagen sea accesible desde un proyecto de entorno de desarrollo. Cada proyecto puede tener un catálogo que almacene varios archivos de definición de imagen, que puede configurar en grupos para alinearse con las necesidades de los equipos de desarrolladores.

Una vez que tenga un archivo de definición de imagen que quiera usar, cárguelo en un catálogo. Las siguientes secciones te muestran cómo vincular tu catálogo a un proyecto y hacer que la definición de imagen esté disponible para su selección al configurar los grupos de cuadros de desarrollo.

Configuración de definiciones de imagen en el nivel de proyecto

Los proyectos le ayudan a administrar los recursos de Dev Box de forma eficaz. Puede asignar a cada equipo de desarrollador su propio proyecto para organizar los recursos de forma eficaz. Cree varias definiciones de imagen en el repositorio del catálogo, cada una de ellas en su propia carpeta para dirigirse a diferentes equipos de desarrolladores en tu proyecto.

Habilitar catálogos a nivel de proyecto

Habilite los catálogos de nivel de proyecto en el nivel del centro de desarrollo antes de agregar un catálogo a un proyecto. Para habilitar catálogos de nivel de proyecto en el nivel del centro de desarrollo:

  1. En Azure Portal, vaya al centro de desarrollo.

  2. En el menú de la izquierda, en Configuración, seleccione Configuración del Centro de desarrollo.

  3. En Catálogos de nivel de proyecto, seleccione Habilitar catálogos por proyecto y, a continuación, seleccione Aplicar.

    Captura de pantalla de la página de configuración del Centro de desarrollo con el panel Catálogos de nivel de proyecto abierto y la opción Habilitar catálogos por proyecto seleccionado.

Para más información sobre cómo agregar catálogos a proyectos, consulte Incorporación y configuración de un catálogo desde GitHub o Azure Repos.

Configurar los ajustes de sincronización del catálogo para el proyecto

Configure el proyecto para sincronizar definiciones de imágenes desde el catálogo. Esta configuración le permite usar las definiciones de imagen en el catálogo para crear grupos de entornos de desarrollo.

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba proyectos. En la lista de resultados, seleccione Proyectos.

  3. Abra el proyecto Dev Box donde desea configurar la configuración de sincronización del catálogo.

  4. Seleccione Catálogos.

  5. Seleccione Configuración de sincronización.

    Captura de pantalla del panel Catálogos en Azure Portal, con el botón para la configuración de sincronización resaltada.

  6. En el panel Configuración de sincronización , seleccione Definiciones de imagen y, a continuación, seleccione Guardar.

    Captura de pantalla del panel configuración de sincronización en Azure Portal, con la casilla de definiciones de imagen resaltadas.

Adjuntar el catálogo que contiene el archivo de definición de imagen

Para usar un archivo de definición de imagen, adjunte el catálogo que contiene el archivo al proyecto. Esto hace que la definición de imagen esté disponible para su selección al configurar tus grupos de entornos de desarrollo.

En el panel Definiciones de imagen se muestran las definiciones de imagen que puede usar el proyecto.

Captura de pantalla del panel de Azure Portal que muestra las definiciones de imagen disponibles para un proyecto.

Para obtener información sobre cómo adjuntar catálogos, consulte Incorporación y configuración de un catálogo desde GitHub o Azure Repos.

Configuración de un grupo de equipo de desarrollo para usar una definición de imagen

Deje que el equipo de desarrollo use personalizaciones configurando un grupo de cuadros de desarrollo con un archivo de definición de imagen. Almacene el archivo de definición de imagen en un repositorio vinculado al proyecto como catálogo. Especifique este archivo como la definición de imagen para el pool, y las personalizaciones se aplican a las nuevas cajas de desarrollo.

Siga estos pasos para crear un grupo de cuadros de desarrollo y especificar una definición de imagen:

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba proyectos. En la lista de resultados, seleccione Proyectos.

  3. Abra el proyecto de Dev Box al que quiera asociar el nuevo grupo de equipos de desarrollo.

  4. Seleccione Grupos de equipos de desarrollo y, luego, Crear.

  5. En el panel Crear un grupo de equipos de desarrollo, escriba los siguientes valores:

    Configuración Importancia
    Nombre Escriba un nombre para la piscina. El nombre del grupo es visible para los desarrolladores cuando crean cuadros de desarrollo. Debe ser único dentro de un proyecto.
    Definición En este cuadro se enumeran las definiciones de imágenes de catálogos accesibles y definiciones de equipos de desarrollo. Seleccione un archivo de definición de imagen.
    Conexión de red Seleccione Implementar en una red hospedada de Microsoft o use una conexión de red existente.
    Habilitación del inicio de sesión único Seleccione para permitir el inicio de sesión único para los equipos de desarrollo de este grupo. La organización debe configurar el inicio de sesión único. Para más información, vea Habilitación del inicio de sesión único para equipos de desarrollo.
    Privilegios de creador de equipo de desarrollo Seleccione Administrador local o Usuario estándar.
    Habilitar detención automática es el valor predeterminado. Seleccione No para desactivar la programación de autoapagado. Puede configurar una programación de detención automática después de crear el grupo.
    Detener el tiempo Seleccione una hora para detener todas las máquinas de desarrollo del conjunto.
    Zona horaria Seleccione la zona horaria para la hora de detención.
    Licencias Active esta casilla para confirmar que su organización tiene licencias de Azure Hybrid Benefit para aplicarlas a las máquinas de desarrollo de este grupo.

    Captura de pantalla del panel para crear un grupo de cajas de desarrollo.

  6. Selecciona Crear.

  7. Active que el nuevo grupo de cuadros de desarrollo aparezca en la lista. Es posible que deba actualizar la pantalla.

Creación de un cuadro de desarrollo mediante el portal para desarrolladores

Para comprobar que se aplican personalizaciones del archivo de definición de imagen, cree un cuadro de desarrollo en el portal para desarrolladores de Dev Box. Siga los pasos descritos en Inicio rápido: Creación y conexión a un cuadro de desarrollo mediante el portal para desarrolladores de Dev Box. A continuación, conéctese a la nueva caja de desarrollo y verifique que las personalizaciones funcionan según lo previsto.

Realice cambios en el archivo de definición de imagen y cree un nuevo cuadro de desarrollo para probarlos. Cuando esté seguro de que las personalizaciones son correctas, cree una imagen reutilizable.

Uso de scripts y archivos modulares en personalizaciones de Dev Box

Los scripts y archivos modulares, como scripts de PowerShell, archivos de Desired State Configuration (DSC), archivos de configuración, archivos de texto o imágenes se pueden almacenar en un catálogo compartido para poder reutilizar y estandarizar las personalizaciones de Dev Box en varias imágenes.

Están diseñados para:

  • Promover la reutilización en varias configuraciones de Dev Box
  • Reducir la duplicación y la sobrecarga de mantenimiento
  • Habilitación de prácticas de configuración coherentes

Estructura del catálogo

Los archivos de la misma carpeta que imagedefinition.yaml, o en sus subcarpetas, se copian al cuadro de desarrollo al crearla. Puede usar estos archivos al ejecutar tareas de personalización.

En el diagrama siguiente se muestra una estructura de catálogo para scripts y archivos modulares en personalizaciones de Dev Box.

Diagrama que muestra una estructura de catálogo con una carpeta de definiciones de imagen, subcarpetas Frontend-imagedef y backend-imagedef y subcarpetas para scripts y archivos.

En el nivel superior, hay una carpeta de definiciones de imagen . Dentro, encontrará subcarpetas de definición de imagen como frontend-imagedef y backend-imagedef. La carpeta frontend-imagedef tiene un archivo de script de PowerShell. La carpeta backend-imagedef incluye una subcarpeta que contiene archivos DSC. Puede usar cualquiera de las estructuras para almacenar scripts y otros archivos.

Referencia a archivos o scripts modulares

El archivo image Definition establece una lista de tareas que se ejecutan en el contexto del sistema y userTasks que se ejecutan después del primer inicio de sesión en el nuevo cuadro de desarrollo, en el contexto del usuario. Usa nombres descriptivos para las tareas para aclarar el propósito de cada tarea. En el archivo de definición de imagen, haga referencia a los scripts modulares que desea ejecutar o los archivos que quiera incluir.


$schema: "1.0"
name: "modular-script"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "This definition shows examples of referencing PowerShell scripts and DSC configuration files."

tasks:
  - name: ~/powershell
    displayName: "Modular Script"
    parameters:
      script: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.ps1
  - name: ~/winget
    displayName: "Install VS Code"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.dsc.yaml

userTasks:
  - name: ~/winget
    displayName: "Install Insomnia"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso-user.dsc.yaml

Dev Box valida que todas las tareas hacen referencia a elementos intrínsecos (como PowerShell o WinGet) o uno que esté disponible en el nivel del centro de desarrollo. Descarga todos los archivos de definición de imagen en un directorio establecido en el nuevo cuadro de desarrollo, junto con los archivos de tareas pertinentes. A continuación, ejecuta cada tarea en su directorio de tareas descargado y carga el estado de la tarea tras la finalización.

Paso siguiente

Ahora que tiene un archivo de definición de imagen que configura y crea cuadros de desarrollo para el equipo de desarrollo, aprenda a optimizar el tiempo de creación de cuadros de desarrollo con creación de imágenes del centro de desarrollo.