Creación de personalizaciones de equipos de desarrollo reutilizables

En este artículo, aprenderá a personalizar equipos de desarrollo mediante un catálogo de tareas de instalación y un archivo de configuración para instalar software, configurar opciones, etc. Estas tareas se aplican al nuevo equipo de desarrollo en la fase final del proceso de creación. La personalización de Microsoft Dev Box es un enfoque de configuración como código para personalizar equipos de desarrollo. Puede agregar otras configuraciones y software sin tener que crear una imagen de máquina virtual (VM) personalizada.

Mediante el uso de personalizaciones, puede automatizar los pasos comunes de configuración, ahorrar tiempo y reducir la posibilidad de errores de configuración. Algunas tareas de configuración de ejemplo incluyen:

  • Instalar software con los administradores de paquetes WinGet o Chocolatey.
  • Establecer la configuración del sistema operativo, como habilitar las características de Windows.
  • Configurar aplicaciones como instalar extensiones de Visual Studio.

Puede implementar personalizaciones en fases, creando desde una configuración simple pero funcional hasta un proceso automatizado. Las fases son las siguientes:

  1. Creación de un equipo de desarrollo personalizado mediante un archivo de configuración de ejemplo
  2. Escritura de un archivo de configuración
  3. Uso compartido de un archivo de configuración desde un repositorio de código
  4. Definición de nuevas tareas en un catálogo

Importante

Actualmente, las personalizaciones de Microsoft Dev Box se encuentran en VERSIÓN PRELIMINAR. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Escenarios de personalización específicos del equipo

Las personalizaciones son útiles siempre que necesite configurar las opciones, instalar software, agregar extensiones o establecer opciones comunes del SO, como habilitar características de Windows en los equipos de desarrollo durante la fase final de creación. Los responsables del equipo de desarrollo pueden usar personalizaciones para preconfigurar el software necesario para su equipo de desarrollo específico. Los responsables del equipo de desarrolladores pueden crear archivos de configuración que solo apliquen las tareas de configuración pertinentes para sus equipos. Este método permite a los desarrolladores crear sus propios equipos de desarrollo que mejor se adapten a su trabajo, sin necesidad de pedir cambios de TI o esperar a que el equipo de ingeniería cree una imagen de máquina virtual personalizada.

¿Qué son las tareas?

Una tarea realiza una acción específica, como instalar software. Cada tarea consta de uno o varios scripts de PowerShell, junto con un archivo task.yaml que proporciona parámetros y define cómo se ejecutan los scripts. También puede incluir un comando de PowerShell en el archivo task.yaml. Puede almacenar una colección de tareas de configuración seleccionadas en un catálogo adjunto al centro de desarrollo, con cada tarea en una carpeta independiente. Dev Box admite el uso de un repositorio de GitHub o un repositorio de Azure DevOps como catálogo y examina una carpeta especificada del catálogo de forma recursiva para buscar definiciones de tareas.

Microsoft proporciona un catálogo de inicio rápido para ayudarle a empezar a trabajar con personalizaciones. Incluye un conjunto predeterminado de tareas que definen tareas comunes de configuración:

  • Instalación de software con los administradores de paquetes WinGet o Chocolatey
  • Clonación de un repositorio mediante git-clone
  • Configuración de aplicaciones como la instalación de extensiones de Visual Studio
  • Ejecución de scripts de PowerShell

En el ejemplo siguiente, se muestra un catálogo con tareas choco, git-clone, install-vs-extension y PowerShell definidas. Observe que cada carpeta contiene un archivo task.yaml y al menos un script de PowerShell. Los scripts de caché de archivos task.yaml y los parámetros de entrada necesarios para hacer referencia a ellos desde archivos de configuración.

Screenshot showing a catalog with choco, git-clone, install-vs-extension, and PowerShell tasks defined, with a tasks.yaml for each task.

¿Qué es un archivo de configuración?

Las personalizaciones de Dev Box usan un archivo con formato yaml para especificar una lista de tareas que se aplicarán desde el catálogo al crear un nuevo equipo de desarrollo. Estos archivos de configuración incluyen una o varias tareas ("tasks"), que identifican la tarea de catálogo y proporcionan parámetros como el nombre del software que se va a instalar. A continuación, el archivo de configuración estará disponible para los desarrolladores que crean nuevos equipos de desarrollo. En el ejemplo siguiente, se usa una tarea winget para instalar Visual Studio Code y una tarea git clone para clonar un repositorio.

# From https://github.com/microsoft/devcenter-examples
$schema: 1.0
tasks:
  - name: winget
    parameters:
      package: Microsoft.VisualStudioCode
      runAsUser: true
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://github.com/OrchardCMS/OrchardCore.git
      directory: C:\Workspaces

Permisos necesarios para configurar Microsoft Dev Box para las personalizaciones

Para realizar las acciones necesarias para crear y aplicar personalizaciones a un equipo de desarrollo, necesita determinados permisos. En la tabla siguiente, se describen las acciones y los permisos o roles que necesita para configurar las personalizaciones.

Action Permiso / Rol
Adjuntar un catálogo a un centro de desarrollo Ingeniero de plataformas con permiso de colaborador en el centro de desarrollo.
Uso del portal para desarrolladores para cargar y aplicar un archivo yaml durante la creación del equipo de desarrollo Usuario de Dev Box
Creación de un archivo de configuración Cualquier persona puede crear un archivo de configuración.
Agregar tareas a un catálogo Permiso para agregar al repositorio que hospeda el catálogo.

Requisitos previos

Para completar los pasos de este artículo, debe tener un centro de desarrollo configurado con una definición de equipo de desarrollo, un grupo de equipos de desarrollo y un proyecto de equipo de desarrollo.

Creación de un equipo de desarrollo personalizado mediante un archivo de configuración de ejemplo

Use el catálogo de inicio rápido predeterminado y un archivo de configuración de ejemplo para empezar a trabajar con personalizaciones.

Asociación del catálogo de inicio rápido

Adjuntar un catálogo con tareas de personalización a un centro de desarrollo significa que puede crear un equipo de desarrollo en ese centro de desarrollo y hacer referencia a las tareas de personalización de ese catálogo. Microsoft proporciona un repositorio de ejemplo en GitHub con un conjunto estándar de tareas predeterminadas para ayudarle a empezar, conocido como catálogo de inicio rápido.

Para adjuntar el catálogo de inicio rápido al centro de desarrollo:

  1. Inicie sesión en el portal para desarrolladores de Microsoft Dev Box.

  2. En el menú de la izquierda, en Configuración del entorno, seleccione Catálogos y, luego, elija Agregar.

  3. En Agregar catálogo, seleccione Tareas de personalización del equipo de desarrollo como catálogo de inicio rápido. Luego, seleccione Agregar.

  4. En el centro de desarrollo, seleccione Catálogos y compruebe que aparece el catálogo.

    Screenshot of the Azure portal showing the Add catalog pane with Microsoft's quick start catalog and Dev box customization tasks highlighted.

    Si la conexión se realiza correctamente, el estado se muestra como Sincronización correcta.

Crear el equipo de desarrollo personalizado

Ahora tiene un catálogo que define las tareas que los desarrolladores pueden usar, puede hacer referencia a esas tareas desde un archivo de configuración y crear un equipo de desarrollo personalizado.

  1. Descargue una configuración de yaml de ejemplo desde el repositorio de ejemplos. Esta configuración de ejemplo instala Visual Studio Code y clona el repositorio de aplicaciones web de OrchardCore .NET en el equipo de desarrollo.

  2. Inicie sesión en el portal para desarrolladores de Microsoft Dev Box.

  3. Seleccione Nuevo>Dev Box.

  4. En Agregar un equipo de desarrollo, escriba los valores siguientes:

    Configuración Value
    Nombre Escriba un nombre para el equipo de desarrollo. Los nombres de los equipos de desarrollo deben ser únicos dentro de un proyecto.
    Proyecto Seleccione un proyecto en la lista desplegable.
    Grupo de equipos de desarrollo Seleccione un grupo en la lista desplegable, que incluye todos los grupos de equipos de desarrollo de ese proyecto. Elija un grupo de equipos de desarrollo cerca de usted para una latencia mínima.
    Archivos de personalización cargados Seleccione Cargar un archivo de personalización y cargue el archivo de configuración que ha descargado en el paso 1.

    Screenshot showing the dev box customization options in the developer portal with Uploaded customization files highlighted.

  5. Seleccione Crear.

Una vez completado el proceso de creación, el nuevo equipo de desarrollo tiene nodejs y Visual Studio Code instalado.

Para obtener más ejemplos, consulte el repositorio de ejemplos del Centro de desarrollo en GitHub.

Escritura de un archivo de configuración

Puede definir nuevas tareas para aplicarlas a los equipos de desarrollo mediante la creación de su propio archivo de configuración. Puede probar el archivo de configuración en Visual Studio Code y realizar los cambios necesarios sin necesidad de crear un equipo de desarrollo independiente para cada prueba.

Para poder crear y probar su propio archivo de configuración, debe haber un catálogo que contenga tareas asociadas al centro de desarrollo. Puede usar una extensión de Visual Studio Code para detectar las tareas del catálogo adjunto.

  1. Cree una instancia de Dev Box (o use una instancia de Dev Box existente) para realizar pruebas.

  2. En el equipo de desarrollo de prueba, instale Visual Studio Code e instale la extensión de Dev Box v1.2.2 VS Code.

  3. Descargue un archivo de configuración yaml de ejemplo desde el repositorio de ejemplos y ábralo en Visual Studio Code.

  4. Descubra las tareas disponibles en el catálogo mediante la paleta de comandos. En Ver>Paleta de comandos, seleccione Dev Box: enumerar las tareas disponibles para este equipo de desarrollo.

    Screenshot of Visual Studio Code showing the command palette with Dev Box List available tasks for this dev box highlighted.

  5. Pruebe la configuración en Visual Studio Code mediante f5/command palette. En Ver>Paleta de comandos, seleccione Dev Box: aplicar tareas de personalización.

    Screenshot of Visual Studio Code showing the command palette with Dev Box Apply customizations tasks highlighted.

  6. El archivo de configuración se ejecuta inmediatamente, aplicando las tareas especificadas al equipo de desarrollo de prueba. Inspeccione los cambios y compruebe el terminal de Visual Studio Code en busca de errores o advertencias generados durante la ejecución de la tarea.

  7. Cuando el archivo de configuración se ejecute correctamente, compártalo con los desarrolladores para cargarlo cuando creen un equipo de desarrollo.

Nota:

La capacidad de crear y cargar un archivo no es un riesgo de seguridad; el archivo cargado solo puede aplicar la configuración definida en el catálogo adjunto al centro de desarrollo. Si la tarea no está definida allí, el desarrollador obtendrá un error que indica que la tarea no está definida.

Uso compartido de un archivo de configuración desde un repositorio de código

Haga que el archivo de configuración esté disponible sin problemas para los desarrolladores al asignarle el nombre workload.yaml y cargarlo en un repositorio accesible para los desarrolladores, por lo general, su repositorio de codificación. Cuando crea un equipo de desarrollo, usted especifica la dirección URL del repositorio y el archivo de configuración se clona junto con el resto del repositorio. El equipo de desarrollo busca en el repositorio un archivo denominado workload.yaml y, si se encuentra uno, realiza las tareas enumeradas. Esta configuración proporciona una manera sencilla de realizar personalizaciones en un equipo de desarrollo.

  1. Cree un archivo de configuración denominado workload.yaml.

  2. Agregue el archivo de configuración a la raíz de un repositorio privado de Azure DevOps con el código y confírmelo.

  3. Inicie sesión en el portal para desarrolladores de Microsoft Dev Box.

  4. Seleccione Nuevo>Dev Box.

  5. En Agregar un equipo de desarrollo, escriba los valores siguientes:

    Configuración Value
    Nombre Escriba un nombre para el equipo de desarrollo. Los nombres de los equipos de desarrollo deben ser únicos dentro de un proyecto.
    Proyecto Seleccione un proyecto en la lista desplegable.
    Grupo de equipos de desarrollo Seleccione un grupo en la lista desplegable, que incluye todos los grupos de equipos de desarrollo de ese proyecto. Elija un grupo de equipos de desarrollo cerca de usted para una latencia mínima.
    Dirección URL de clonación del repositorio Escriba la dirección URL del repositorio que contiene el archivo de configuración y el código.

    Screenshot showing the dev box customization options in the developer portal with Repository clone URL highlighted.

  6. Seleccione Crear.

El nuevo equipo de desarrollo tiene el repositorio clonado y se aplican todas las instrucciones del archivo de configuración.

Definición de nuevas tareas en un catálogo

La creación de nuevas tareas en un catálogo le permite crear personalizaciones adaptadas a los equipos de desarrollo y agregar límites de protección en torno a las configuraciones que son posibles.

  1. Cree un repositorio para almacenar las tareas.

    De manera opcional, puede realizar una copia del catálogo de inicio rápido en su propio repositorio para usarlo como punto de partida.

  2. Cree tareas en el repositorio modificando los scripts de PowerShell existentes o creando nuevos scripts.

    Para empezar a crear tareas, puede usar los ejemplos proporcionados en el repositorio de ejemplos del centro de desarrollo en GitHub y la documentación de PowerShell.

  3. Adjunte el repositorio al centro de desarrollo como catálogo.

  4. Cree un archivo de configuración para esas tareas siguiendo los pasos descritos en Escritura de un archivo de configuración.