Canalizaciones de compilación de Power BI Project (PBIP) y Azure DevOps para la validación
La combinación de integración de Git de Fabric con Azure DevOps permite conectar un área de trabajo a una rama en un repositorio de Azure DevOps y sincronizar automáticamente entre ellas.
La integración del formato PBIP con Azure DevOps le permite usar Azure Pipelines para automatizar canalizaciones de integración continua e implementación continua (CI/CD). Estas canalizaciones procesan los archivos de metadatos de PBIP y aplican una serie de comprobaciones de calidad al desarrollo antes de implementarlos en el sistema de producción.
En este artículo, nos centramos en la integración continua y se describe cómo crear una canalización de Azure DevOps que garantice procedimientos recomendados para todos los modelos semánticos e informes dentro de un área de trabajo de Fabric. Al implementar pruebas de calidad automatizadas, puede evitar errores comunes y mejorar la eficacia del equipo. Por ejemplo, este enfoque garantiza que los nuevos miembros del equipo cumplan los estándares establecidos para el modelo semántico y el desarrollo de informes.
Obtenga más información sobre la integración de GIT de PBIP y Fabric en la introducción al proyecto y la introducción a la integraciónde Git de Fabric.
En el diagrama siguiente se muestra el escenario de un extremo a otro con dos flujos de trabajo de desarrollo que desencadenan la canalización de Azure DevOps para validar la calidad del desarrollo. La ejecución de la canalización realiza las siguientes acciones:
El usuario 1 desarrolla mediante Power BI Desktop.
- Creación de una rama a partir de la principal mediante VS Code (feature/datasetchange)
- Realización de cambios en el modelo semántico mediante Power BI Desktop
- Confirmación de cambios en la rama de repositorio remoto mediante VS Code
- Creación de una solicitud de incorporación de cambios en la rama principal mediante Azure DevOps
Al mismo tiempo, usuario 2 desarrolla mediante otra área de trabajo de Fabric.
- Creación de una rama a partir de principal mediante Fabric Git (feature/reportchange)
- Realizar cambios en el informe en el área de trabajo de Fabric
- Confirmación de cambios en la rama de repositorio remoto mediante Fabric Git
- Creación de una solicitud de incorporación de cambios en la rama principal mediante Azure DevOps
El responsable del equipo revisa las solicitudes de incorporación de cambios y sincroniza los cambios en el área de trabajo del equipo mediante Fabric Git.
La solicitud de incorporación de cambios desencadena la canalización de Azure DevOps para inspeccionar el modelo semántico y la calidad del desarrollo de informes.
Nota:
En este ejemplo, la canalización usa dos herramientas de comunidad de código abierto que permiten a un desarrollador aplicar (personalizable) reglas de procedimientos recomendados a los metadatos de los modelos semánticos e informes dentro de una carpeta del proyecto de Power BI:
Un enfoque similar al ejemplo de este artículo se aplicaría a otras herramientas de la comunidad. Este artículo no profundiza en los detalles de las herramientas de la comunidad mencionadas anteriormente ni en la creación y edición de reglas. Para obtener información detallada sobre estos temas, consulte los vínculos proporcionados. El enfoque de este artículo se centra en el proceso de establecer una puerta de calidad entre el control de código fuente y el área de trabajo de Fabric. Es importante tener en cuenta que las herramientas de la comunidad a las que se hace referencia están desarrolladas por colaboradores de terceros y Microsoft no ofrece soporte técnico ni documentación para ellos.
Paso 1: Conexión del área de trabajo de Fabric a Azure DevOps
Conectar el área de trabajo de Fabric a Azure DevOps:
Cuando la integración de Fabric Git termina de exportar los elementos del área de trabajo, la rama de Azure DevOps contendrá una carpeta para cada elemento del área de trabajo:
Paso 2: creación y ejecución de una canalización de compilación de Azure DevOps
Para crear una nueva canalización:
En la pestaña Canalizaciones del menú de navegación izquierdo, seleccione Crear canalización :
Seleccione Git de Azure Repos y seleccione el primer repositorio (el mismo repositorio que está conectado al área de trabajo de Fabric):
Seleccione Canalización inicial.
El siguiente código YAML aparece en el editor:
Copie y pegue el código YAML de la canalización del modo de desarrollador de Power BIen la canalización que creó:
Seleccione Guardar y ejecutar para confirmar la nueva canalización en el repositorio.
Azure DevOps ejecuta la canalización e inicia dos trabajos de compilación en paralelo:
- Build_Datasets
- Descarga archivos binarios del Editor tabular.
- Descargue el Analizador de procedimientos recomendados reglas predeterminadas. Para personalizar las reglas, agregue Rules-Dataset.json a la raíz del repositorio.
- Recorra todas las carpetas de elementos del modelo semántico y ejecute reglas BPA del Editor tabular.
- Build_Reports
- Descargue archivos binarios de PBI Inspector.
- Descargue PBI Inspector reglas predeterminadas. Para personalizar las reglas, agregue Rules-Report.json a la raíz del repositorio.
- Recorra todas las carpetas de elementos de informe y ejecute reglas de Power BI Inspector.
Cuando finaliza, Azure DevOps crea un informe de todas las advertencias y errores detectados:
Seleccione en el vínculo para abrir una vista más detallada de los dos trabajos:
Si el informe o el modelo semántico producen un error en una regla con un nivel de gravedad mayor, se produce un error en la compilación y se resalta el error:
Paso 3: Definición de directivas de rama
Una vez que la canalización esté en funcionamiento, habilite las directivas de rama en la ramaprincipal. Este paso garantiza que no se pueda realizar ninguna confirmación directamente en la rama principal. Siempre se requiere una "solicitud de incorporación de cambios" para combinar los cambios en principal y puede configurar la canalización para que se ejecute con cada solicitud de incorporación de cambios.
Seleccione Ramas>rama principal>directivas de rama principal:
Configure la canalización creada como una directiva de compilación para la rama:
Paso 4: Creación de una solicitud de incorporación de cambios
Si vuelve al área de trabajo de Fabric, realiza una modificación en uno de los informes o modelos semánticos e intenta confirmar el cambio, recibirá el siguiente error:
Solo puede realizar cambios en la rama principal a través de una solicitud de incorporación de cambios. Para crear una solicitud de incorporación de cambios, consulte una nueva rama para realizar los cambios en:
Cree una rama directamente desde el área de trabajo de Fabric:
En el panel Control de código fuente, seleccione en Desproteger nueva rama y proporcione un nombre para la rama.
Como alternativa, puede optar por desarrollar dentro de un área de trabajo independiente, aislada o en Power BI Desktop. Para más información, consulte Desarrollo con otra área de trabajo
Confirme los cambios realizados en esta nueva rama.
Después de la confirmación, cree una solicitud de incorporación de cambios en la rama principal desde el portal de Azure DevOps.
El flujo de trabajo de solicitud de incorporación de cambios no solo permite validar y revisar los cambios, sino que también desencadena automáticamente la canalización.
Si hay un error de alta gravedad en una de las reglas, no puede finalizar la solicitud de incorporación de cambios y combinar los cambios de nuevo en la rama principal.
Obtenga más información sobre la integración de Git de PBIP y Fabric en entrada de blog.