Uso de Azure DevOps para crear una canalización de CI/CD para un trabajo de Stream Analytics
En este artículo, aprenderá a crear canalizaciones de compilación y versión de Azure DevOps mediante herramientas de CI/CD de Azure Stream Analytics.
Confirmación del proyecto de Stream Analytics
Antes de comenzar, confirme los proyectos de Stream Analytics completados como archivos de origen para un repositorio de Azure DevOps. Puede hacer referencia a este repositorio de ejemplo y al código fuente del proyecto de Stream Analytics en Azure Pipelines.
En los pasos de este artículo se usa un proyecto de Visual Studio Code para Stream Analytics. Si usa un proyecto de Visual Studio, siga los pasos descritos en Automatización de las compilaciones, las pruebas y las implementaciones de un trabajo de Azure Stream Analytics mediante herramientas de CI/CD.
Creación de una canalización de compilación
En esta sección, aprenderá a crear una canalización de compilación.
Abra un explorador web y vaya al proyecto en Azure DevOps.
En Pipelines, en el menú de navegación izquierdo, seleccione Compilaciones. Luego, seleccione Nueva canalización.
Seleccione Usar el editor clásico para crear una canalización sin YAML.
Seleccione el tipo de origen, el proyecto del equipo y el repositorio. Después, seleccione Continuar.
En la página Elegir una plantilla, seleccione Trabajo vacío.
Instalación del paquete de npm
En la página Tareas, seleccione el signo más que aparece al lado de Agent job 1. Escriba npm en la búsqueda de tareas y seleccione npm.
Asigne a la tarea un nombre para mostrar. Cambie la opción Comando a personalizar y escriba el siguiente comando en Comando y argumentos. Deje las restantes opciones predeterminadas.
install -g azure-streamanalytics-cicd
Siga los pasos siguientes si necesita usar el agente hospedado de Linux:
Seleccione la Especificación del agente.
En la página Tareas, seleccione el signo más que aparece al lado de Agent job 1. Escriba línea de comandos en la búsqueda de tareas y seleccione Línea de comandos.
Asigne a la tarea un nombre para mostrar. Escriba el comando siguiente en Script. Deje las restantes opciones predeterminadas.
sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
Adición de una tarea de compilación
En la página Variables, en Variables de canalización, seleccione + Agregar. Agregue las variables siguientes. Establezca los valores siguientes según sus preferencias:
Nombre de la variable Valor projectRootPath [YourProjectName] outputPath Resultados deployPath Implementar En la página Tareas, seleccione el signo más que aparece al lado de Agent job 1. Busque Línea de comandos.
Asigne a la tarea un nombre para mostrar y escriba el siguiente script. Modifique el script con el nombre del repositorio y el nombre del proyecto.
Nota:
Se recomienda encarecidamente usar para generar la
build --v2
plantilla de ARM para la implementación. La nueva plantilla de ARM tiene menos parámetros, a la vez que conserva la misma funcionalidad que la versión anterior.Tenga en cuenta que la plantilla de ARM anterior pronto quedará en desuso; solo las plantillas creadas con
build --v2
recibirán actualizaciones y correcciones de errores.azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
En la imagen se utiliza como ejemplo un proyecto de Visual Studio Code para Stream Analytics.
Adición de una tarea de prueba
En la página Variables, en Variables de canalización, seleccione + Agregar. Agregue las variables siguientes. Cambie los valores por su ruta de acceso de salida y el nombre del repositorio.
Nombre de la variable Valor testPath Prueba En la página Tareas, seleccione el signo más que aparece al lado de Agent job 1. Busque Línea de comandos.
Asigne a la tarea un nombre para mostrar y escriba el siguiente script. Modifique el script con su nombre del archivo de proyecto y la ruta de acceso al archivo de configuración de prueba.
Para más información sobre cómo agregar y configurar casos de prueba, consulte las instrucciones de pruebas automatizadas.
azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json
Adición de una tarea de copia de archivos
Se debe agregar una tarea de copia de archivos para copiar el archivo de resumen de prueba y los archivos de la plantilla de Azure Resource Manager en la carpeta de artefactos.
En la página Tareas, seleccione el signo + que aparece al lado de Trabajo de agente 1. Busque Copiar archivos. Luego, escriba las siguientes configuraciones. Al asignar
**
a Contenido, se copian todos los archivos de los resultados de prueba.Parámetro Entrada Nombre para mostrar Copiar archivos a: $(build.artifactstagingdirectory) Carpeta de origen $(system.defaultworkingdirectory)/$(outputPath)/
Contenido **
Carpeta de destino $(build.artifactstagingdirectory)
Expanda Opciones de control. En Ejecutar esta tarea, seleccione Incluso si una tarea anterior ha dado error, a menos que se haya cancelado la compilación.
Adición de una tarea de publicación de artefactos de compilación
En la página Tareas, seleccione el signo más que aparece al lado de Agent job 1. Busque Publicar artefactos de compilación y seleccione la opción con el icono de flecha negra.
Expanda Opciones de control. En Ejecutar esta tarea, seleccione Incluso si una tarea anterior ha dado error, a menos que se haya cancelado la compilación.
Guardar y ejecutar
Cuando haya terminado de agregar el paquete npm, la línea de comandos y las tareas de copia de archivos y publicación de artefactos de compilación, seleccione Guardar y poner en cola. Cuando se le pida, escriba un comentario de guardado y seleccione Guardar y ejecutar. Puede descargar los resultados de las pruebas de la página Resumen de la canalización.
Comprobación de los resultados de compilación y prueba
El archivo de resumen de pruebas y los archivos de la plantilla de Azure Resource Manager se pueden encontrar en la carpeta Published.
Publicación con Azure Pipelines
En esta sección, aprenderá a crear una canalización de versión.
Abra un explorador web y vaya al proyecto de Visual Studio Code de Azure Stream Analytics.
En Pipelines, en el menú de navegación izquierdo, seleccione Versiones. Luego seleccione Nueva canalización.
Seleccione Empezar con un trabajo vacío.
En el cuadro de Artefactos, seleccione + Agregar un artefacto. En Origen, seleccione la canalización de compilación que ha creado y elija Agregar.
Cambie el nombre de Stage 1 a Deploy job to test environment (Implementar trabajo en entorno de prueba).
Agregue una nueva fase y asígnele el nombre Implementar trabajo en entorno de producción.
Adición de tareas de implementación
Nota:
Override template parameters
no es aplicable a las compilaciones ARM --v2, ya que los parámetros se pasan como objetos. Para solucionar esto, se recomienda incluir un script de PowerShell en la canalización para leer el archivo de parámetros como JSON y realizar las modificaciones de parámetro necesarias.
Para obtener más instrucciones sobre cómo agregar el script de PowerShell, consulte ConvertFrom-Json y Update Object en el archivo JSON.
En la lista desplegable de tareas, seleccione Deploy job to test environment (Implementar trabajo en entorno de prueba).
Seleccione el signo + junto a Trabajo de agente y busque implementación de plantilla de ARM. Escriba los siguientes parámetros:
Parámetro Value Nombre para mostrar Implementación de myASAProject Suscripción de Azure Elija su suscripción. Acción Crear o actualizar grupo de recursos Resource group Elija un nombre para el grupo de recursos de prueba que contendrá su trabajo de Stream Analytics. Location Elija la ubicación de su grupo de recursos de prueba. Ubicación de la plantilla Artefacto vinculado Plantilla $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json Parámetros de plantilla $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json Reemplazo de los parámetros de plantilla -<arm_template_parameter> "su valor". Puede definir los parámetros mediante variables. Modo de implementación Incremental En la lista desplegable de tareas, seleccione Implementar trabajo en entorno de producción.
Seleccione el signo + junto a Trabajo de agente y busque implementación de plantilla de ARM. Escriba los siguientes parámetros:
Parámetro Value Nombre para mostrar Implementación de myASAProject Suscripción de Azure Elija su suscripción. Acción Crear o actualizar grupo de recursos Resource group Elija un nombre para el grupo de recursos de producción que contendrá su trabajo de Stream Analytics. Location Elija la ubicación del grupo de recursos de producción. Ubicación de la plantilla Artefacto vinculado Plantilla $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json Parámetros de plantilla $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json Reemplazo de los parámetros de plantilla -<arm_template_parameter> "su valor" Modo de implementación Incremental
Creación de una versión
Para crear una versión, seleccione Crear versión en la esquina superior derecha.