Compartir vía


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:

Diagrama que muestra el flujo de trabajo de la canalización de DevOps.

  1. El usuario 1 desarrolla mediante Power BI Desktop.

    1. Creación de una rama a partir de la principal mediante VS Code (feature/datasetchange)
    2. Realización de cambios en el modelo semántico mediante Power BI Desktop
    3. Confirmación de cambios en la rama de repositorio remoto mediante VS Code
    4. Creación de una solicitud de incorporación de cambios en la rama principal mediante Azure DevOps
  2. Al mismo tiempo, usuario 2 desarrolla mediante otra área de trabajo de Fabric.

    1. Creación de una rama a partir de principal mediante Fabric Git (feature/reportchange)
    2. Realizar cambios en el informe en el área de trabajo de Fabric
    3. Confirmación de cambios en la rama de repositorio remoto mediante Fabric Git
    4. Creación de una solicitud de incorporación de cambios en la rama principal mediante Azure DevOps
  3. 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.

  4. 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:

Captura de pantalla que muestra la conexión de Git a 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:

Captura de pantalla que muestra la rama de Azure DevOps con carpetas para distintos elementos 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:

  1. En la pestaña Canalizaciones del menú de navegación izquierdo, seleccione Crear canalización :

    Captura de pantalla que muestra cómo crear una canalización.

  2. Seleccione Git de Azure Repos y seleccione el primer repositorio (el mismo repositorio que está conectado al área de trabajo de Fabric):

    Captura de pantalla que muestra el Git del repositorio de Azure seleccionado como origen de código para la canalización.

    Captura de pantalla que muestra el repositorio Demo-ADObuild seleccionado.

  3. Seleccione Canalización inicial.

    Captura de pantalla que muestra el icono de canalización de inicio seleccionado.

    El siguiente código YAML aparece en el editor:

    Captura de pantalla que muestra el código YAML predeterminado.

  4. Copie y pegue el código YAML de la canalización del modo de desarrollador de Power BIen la canalización que creó:

    Captura de pantalla que muestra el código YAML que se va a agregar.

    Captura de pantalla que muestra la segunda parte del código YAML.

  5. Seleccione Guardar y ejecutar para confirmar la nueva canalización en el repositorio.

    Captura de pantalla de una revisión del código YAML.

    Captura de pantalla que muestra la selección de guardar y ejecutar.

Azure DevOps ejecuta la canalización e inicia dos trabajos de compilación en paralelo:

Captura de pantalla que muestra Azure DevOps que ejecuta una canalización.

  • 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:

Captura de pantalla que muestra el informe de errores.

Seleccione en el vínculo para abrir una vista más detallada de los dos trabajos:

Captura de pantalla que muestra el botón Ver registro.

Captura de pantalla que muestra el registro de errores expandido.

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:

Captura de pantalla que muestra los errores del resaltador.

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.

  1. Seleccione Ramas>rama principal>directivas de rama principal:

    Captura de pantalla que muestra las directivas de rama.

  2. Configure la canalización creada como una directiva de compilación para la rama:

    Captura de pantalla que muestra la interfaz de usuario de la directiva de compilación.

    Captura de pantalla que muestra la segunda parte de la interfaz de usuario de la directiva de compilación.

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:

Captura de pantalla que muestra el error No se puede confirmar el cambio.

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:

  1. En el panel Control de código fuente, seleccione en Desproteger nueva rama y proporcione un nombre para la rama.

    Captura de pantalla que muestra la pantalla de control de código fuente para desproteger una nueva rama.

    Captura de pantalla que muestra cómo desproteger una nueva 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

  2. Confirme los cambios realizados en esta nueva rama.

    Captura de pantalla en la que se muestran los cambios de confirmación en la rama.

  3. Después de la confirmación, cree una solicitud de incorporación de cambios en la rama principal desde el portal de Azure DevOps.

    Captura de pantalla que muestra una nueva solicitud de cambios creada.

    Captura de pantalla que muestra la solicitud de cambios creada.

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.

Captura de pantalla que muestra el cambio del informe.

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.

Captura de pantalla completada la solicitud de cambios.

Obtenga más información sobre la integración de Git de PBIP y Fabric en entrada de blog.