¿Cómo crear un Pylance en Azure DevOps?
Hemos avanzado en el proceso de crear un pylance utilizando Azure DevOps, una herramienta fundamental para la integración y entrega continua de aplicaciones. Es esencial tener acceso a los agentes o máquinas virtuales de Azure DevOps, los cuales ejecutan los comandos automáticamente en nuestras aplicaciones. A continuación, te explicaré cómo hemos gestionado la creación y ejecución de un pylance para una aplicación Node con REAP.
¿Qué necesitamos para comenzar?
-
Acceso a Azure DevOps: Utiliza una cuenta con acceso adecuado a los agentes de Azure DevOps. Para esto, puede ser necesario llenar un formulario y esperar de dos a tres días hábiles para la aprobación.
-
Configuración de Node: Asegúrate de estar trabajando con una versión actualizada de Node, en nuestro caso usamos Node 16.15.
¿Cómo guardar y ejecutar el Pylance?
Antes de ejecutar, es fundamental guardar el archivo azurepylance.yml
dentro del repositorio. Esto permite:
- Ejecutar todos los comandos de integración continua de manera automatizada.
- Monitorear el inicio de la ejecución y seguir el progreso de las tareas configuradas.
trigger:
branches:
include:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.15'
displayName: 'Install Node.js'
¿Cómo agregar y ejecutar nuevos scripts?
Para aprender a ejecutar diferentes scripts, separamos npm install
de npm run build
. Aunque no es una práctica común, nos ayuda en este proceso educativo.
- script: |
npm install
displayName: 'npm install'
- script: |
npm run build
displayName: 'npm run build'
¿Cómo preparar el paquete de publicación?
- Copia de archivos: Creamos una tarea para copiar los archivos generados durante la compilación a una carpeta de staging.
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)/build'
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- Compresión de archivos: Utilizamos un archivo
.zip
para compilar los archivos de la aplicación.
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(build.artifactstagingdirectory)'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(build.artifactstagingdirectory)/$(Build.BuildId).zip'
- Publicación: Finalmente, publicamos este archivo para que otras secciones de Azure DevOps puedan usarlo, especialmente para la sección de releases que usaremos más adelante.
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
¿Qué consideraciones adicionales debemos tener?
Azure DevOps ofrece amplias funcionalidades, desde la ejecución de pruebas unitarias hasta el análisis de calidad del código mediante SonarQ. Aunque nuestro ejemplo es básico, estas herramientas pueden ser integradas para proyectos más avanzados.
Consejos para continuar el aprendizaje
Te animo a experimentar con diferentes configuraciones y opciones que Azure DevOps ofrece. La práctica y exploración te permitirán optimizar este tipo de procesos, hacerlos más robustos, e incluso automatizar tareas repetitivas eficientemente. Además, ¡No dudes en consultar la documentación de Azure DevOps para descubrir todo su potencial!
¡Ánimo y sigue aprendiendo!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?