Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona información sobre cómo puede usarse DevTest Labs en las canalizaciones de compilación y publicación de Azure Pipelines.
Flujo general
El flujo básico consiste en contar con una canalización de compilación que realice las siguientes tareas:
- Compile el código de la aplicación.
- Cree el entorno base en DevTest Labs.
- Actualice el entorno con información personalizada.
- Implementación de la aplicación en el entorno de DevTest Labs
- Pruebe el código.
Una vez que la compilación se haya completado correctamente, la canalización de versión usará los artefactos de compilación para iniciar la implementación provisional o de producción.
Una de las premisas necesarias es que toda la información necesaria para recrear el ecosistema probado se encuentra en los artefactos de compilación, incluida la configuración de los recursos de Azure. Como los recursos de Azure generan costes cuando se utilizan, las empresas quieren controlar o supervisar el uso de estos recursos. En algunas situaciones, Azure Resource Manager plantillas que se usan para crear y configurar los recursos pueden ser administradas por otro departamento como TI. Además, estas plantillas se pueden almacenar en un repositorio diferente. Conduce a una situación interesante al crear y probar una compilación. Tanto el código como la configuración deben almacenarse dentro de los artefactos de compilación para volver a crear el sistema en producción.
Con DevTest Labs durante la fase de compilación y prueba, puede agregar plantillas de Azure Resource Manager y archivos auxiliares a los orígenes de compilación. Durante la fase de lanzamiento, despliega en producción la configuración exacta que usó en las pruebas. La tarea Crear entorno de Azure DevTest Labs, con la configuración adecuada, guarda las plantillas de Resource Manager en los artefactos de compilación. En este ejemplo, usará el código del Tutorial: Compilación de una aplicación web de .NET Core y SQL Database en Azure App Service, para implementar y probar la aplicación web en Azure.
Configuración de los recursos de Azure
Debe crear un par de elementos previamente:
- Dos repositorios. La primera con el código del tutorial y una plantilla de Resource Manager con dos máquinas virtuales más. La segunda contendrá la plantilla de Azure Resource Manager base (configuración existente).
- Un grupo de recursos para la implementación del código de producción y la configuración.
- Un laboratorio con una conexión al repositorio de configuración de la canalización de compilación. Registre la plantilla de Resource Manager en el repositorio de configuración como azuredeploy.json junto con metadata.json. Este nombre permite que DevTest Labs reconozca e implemente la plantilla.
La canalización de compilación crea un entorno de DevTest Labs e implementa el código para las pruebas.
Configurar un pipeline de compilación
En Azure Pipelines, cree una canalización de compilación mediante el código del Tutorial: Compilación de una aplicación web de .NET Core y SQL Database en Azure App Service. Use la plantilla ASP.NET Core, que rellenará la tarea necesaria para compilar, probar y publicar el código.
Agregue tres tareas más para crear el entorno en DevTest Labs e implementarlo en el entorno.
Crear una tarea de entorno
En la tarea crear entorno de Azure DevTest Labs, use las listas desplegables para seleccionar los valores siguientes:
- Suscripción a Azure
- Nombre del laboratorio
- Nombre del repositorio
- Nombre de la plantilla (que muestra la carpeta donde se almacena el entorno).
Se recomienda usar listas desplegables en la página en lugar de escribir la información manualmente. Si introduce manualmente la información, introduzca identificadores de recursos de Azure completos. En la tarea se muestran los nombres descriptivos, en lugar de los identificadores de los recursos.
El nombre del entorno es el nombre mostrado en DevTest Labs. Debe ser un nombre único para cada compilación. Por ejemplo: TestEnv$(Build.BuildId).
Puede especificar el archivo de parámetros o los parámetros para pasar información a la plantilla de Resource Manager.
Seleccione la opción Crear variables de salida en función de la opción de salida de la plantilla de entorno y escriba un nombre de referencia. En este ejemplo, escriba BaseEnv como nombre de referencia. Utilizas este BaseEnv al configurar la siguiente tarea.
Tarea Relleno del entorno
La segunda tarea (Relleno de entorno de Azure DevTest Labs) consiste en actualizar el entorno de DevTest Labs existente. La tarea Crear entorno genera BaseEnv.environmentResourceId que se usa para configurar el nombre del entorno para esta tarea. La plantilla Resource Manager de este ejemplo tiene dos parámetros: adminUserName y adminPassword.
Tarea de implementación de App Service
La tercera tarea es la tarea Azure App Service Deploy. El tipo de aplicación se establece en Aplicación web y el nombre de App Service se establece en $(WebSite).
Configurar la canalización de lanzamiento
Crea una canalización de versiones con dos tareas: Implementación de Azure: Crear o actualizar un grupo de recursos y Implementar Azure App Service.
Para la primera tarea, especifique el nombre y la ubicación del grupo de recursos. La ubicación de la plantilla es un artefacto vinculado. Si la plantilla de Resource Manager incluye plantillas vinculadas, debe implementar una implementación de grupo de recursos personalizada. La plantilla está en el artefacto de colocación publicado. Invalide los parámetros de plantilla para la plantilla de Resource Manager. Puede dejar la configuración restante con valores predeterminados.
Para la segunda tarea Implementar Azure App Service, especifique la suscripción Azure, seleccione Aplicación web para el tipo de aplicación y $(WebSite) para el nombre de App Service. Puede dejar la configuración restante con valores predeterminados.
Ejecución de pruebas
Ahora que ambas canalizaciones están configuradas, ponga en cola manualmente una compilación y vea si funciona. El siguiente paso es configurar el desencadenador adecuado para la compilación y conectar la compilación a la canalización de lanzamiento.
Pasos siguientes
Consulte los artículos siguientes: