Поделиться через


Конвейеры сборки Проекта Power BI (PBIP) и Azure DevOps для непрерывной интеграции

Объединение интеграции Git Fabric с Azure DevOps позволяет подключить рабочую область к ветви в репозитории Azure DevOps и автоматически синхронизировать их.

Интеграция формата PBIP с Azure DevOps позволяет использовать Azure Pipelines для автоматизации конвейеров непрерывной интеграции и непрерывного развертывания (CI/CD). Эти конвейеры обрабатывают файлы метаданных PBIP и применяют ряд проверка качества к разработке перед развертыванием в рабочей системе.

В этой статье мы сосредоточимся на непрерывной интеграции и о том, как создать конвейер сборки Azure DevOps, который гарантирует рекомендации для всех семантических моделей и отчетов в рабочей области Fabric. Реализуя автоматизированные тесты качества, вы можете предотвратить распространенные ошибки и повысить эффективность команды. Например, этот подход гарантирует, что новые члены команды соответствуют установленным стандартам для семантической модели и разработки отчетов.

Дополнительные сведения об интеграции PBIP и Fabric Git см. в обзоре проекта и интеграции с Fabric Git.

На следующей схеме показан комплексный сценарий с двумя рабочими процессами разработки, которые активируют конвейер сборки Azure DevOps для проверки качества разработки. Выполнение сборки выполняет следующие действия:

Diagram showing workflow of build pipeline.

  1. Пользователь 1 разрабатывается с помощью Power BI Desktop.

    1. Создание ветви из основной функции с помощью VS Code (feature/datasetchange)
    2. Внесение изменений в семантику модели с помощью Power BI Desktop
    3. Фиксация изменений в ветви удаленный репозиторий с помощью VS Code
    4. Создание запроса на вытягивание в основную ветвь с помощью Azure DevOps
  2. В то же время пользователь 2 разрабатывается с помощью другой рабочей области Fabric.

    1. Создание ветви из основной функции с помощью Fabric Git (feature/reportchange)
    2. Внесение изменений в отчет в рабочей области Fabric
    3. Фиксация изменений в ветви удаленный репозиторий с помощью Fabric Git
    4. Создание запроса на вытягивание в основную ветвь с помощью Azure DevOps
  3. Руководитель группы проверяет запросы на вытягивание и синхронизирует изменения в рабочей области команды с помощью Fabric Git.

  4. Запрос на вытягивание активирует конвейер сборки Azure DevOps для проверки семантической модели и качества разработки отчетов.

Примечание.

В этом примере конвейер сборки использует два средства сообщества с открытым кодом, которые позволяют разработчику применять (настраиваемые) правила рекомендаций к метаданным семантических моделей и отчетов в папке Проекта Power BI:

Подход, аналогичный примеру в этой статье, будет применяться к другим средствам сообщества. В этой статье не рассматриваются особенности средств сообщества, которые упоминание ранее, ни создание правил и редактирование правил. Подробные сведения об этих разделах см. в приведенных ссылках. Основное внимание в этой статье уделяется процессу создания шлюза качества между системой управления версиями и рабочей областью Fabric. Важно отметить, что упомянутые средства сообщества разрабатываются сторонними участник, и корпорация Майкрософт не предлагает поддержку или документацию для них.

Шаг 1. Рабочая область Подключение Fabric в Azure DevOps

Подключение рабочей области Fabric в Azure DevOps:

Screenshot showing the Git connection to DevOps.

Когда интеграция Git Fabric завершит экспорт элементов рабочей области, ветвь Azure DevOps будет содержать папку для каждого элемента в рабочей области:

Screenshot showing the Azure DevOps branch with folders for different workspace items.

Шаг 2. Создание и запуск конвейера сборки Azure DevOps

Чтобы создать конвейер сборки, выполните приведенные действия.

  1. На вкладке "Конвейеры" в меню навигации слева выберите "Создать конвейер " :

    Screenshot showing how to create a pipeline.

  2. Выберите Azure Repos Git и выберите первый репозиторий (тот же репозиторий, который подключен к рабочей области Fabric):

    Screenshot showing Azure repo Git selected as the code source for the pipeline.

    Screenshot showing the Demo-ADObuild repo selected.

  3. Выберите Простейший конвейер.

    Screenshot showing the starter pipeline icon selected.

    В редакторе появится следующий код YAML:

    Screenshot showing the default YAML code.

  4. Скопируйте и вставьте код YAML из конвейера режима разработчика Power BI в созданный конвейер:

    Screenshot showing YAML code to be added.

    Screenshot showing second part of YAML code.

  5. Нажмите кнопку "Сохранить и запустить ", чтобы зафиксировать новый конвейер в репозитории.

    Screenshot of a review of the YAML code.

    Screenshot showing save and run selection.

Azure DevOps запускает конвейер и запускает два задания сборки параллельно:

Screenshot showing Azure DevOps building a pipeline.

  • Build_Datasets
    • Загружает двоичные файлы табличного редактора.
    • Скачайте правила анализатора рекомендаций по умолчанию. Чтобы настроить правила, добавьте файл Rules-Dataset.json в корневой каталог репозитория.
    • Переключите все папки элементов семантической модели и запустите правила BPA табличного редактора.
  • Build_Reports
    • Скачайте двоичные файлы инспектора PBI.
    • Скачайте правила инспектора PBI по умолчанию. Чтобы настроить правила, добавьте rules-Report.json в корневой каталог репозитория.
    • Циклический цикл по всем папкам элементов отчета и запуск правил Инспектора Power BI.

По завершении Azure DevOps создает отчет обо всех предупреждениях и ошибках, которые он столкнулся:

Screenshot showing error report.

Выберите ссылку, чтобы открыть более подробное представление двух заданий сборки:

Screenshot showing view log button.

Screenshot showing expanded error log.

Если отчет или семантическая модель завершается сбоем правила с более высоким уровнем серьезности, сборка завершается ошибкой и выделена ошибка:

Screenshot showing highlighter errors.

Шаг 3. Определение политик ветви

После запуска конвейера включите политики ветви в главной ветви. Этот шаг гарантирует, что фиксации не могут быть сделаны непосредственно в основную. Запрос на вытягивание всегда требуется для слияния изменений обратно в main, и вы можете настроить конвейер сборки для выполнения с каждым запросом на вытягивание.

  1. Выберите политики ветвей основной>ветви:>

    Screenshot showing branch policies.

  2. Настройте созданный конвейер в качестве политики сборки для ветви:

    Screenshot showing the build policy UI.

    Screenshot showing second part of the build policy UI.

Шаг 4. Создание запроса на вытягивание

Если вы вернеесь в рабочую область Fabric, внесите изменения в одну из отчетов или семантических моделей и попытаейтесь зафиксировать это изменение, вы получите следующую ошибку:

Screenshot showing the unable to commit change error.

Вы можете вносить изменения только в основную ветвь с помощью запроса на вытягивание. Чтобы создать запрос на вытягивание проверка out a new branch, чтобы внести изменения в:

Создайте ветвь непосредственно из рабочей области Fabric:

  1. В области управления версиями выберите новую ветвь и укажите имя ветви.

    Screenshot showing the source control screen to checkout a new branch.

    Screenshot showing how to checkout a new branch.

    Кроме того, можно выбрать разработку в отдельной изолированной рабочей области или в Power BI Desktop. Дополнительные сведения см. в статье "Разработка с помощью другой рабочей области"

  2. Зафиксируйте изменения в этой новой ветви.

    Screenshot showing commit changes to branch.

  3. После фиксации создайте запрос на вытягивание в основную ветвь на портале Azure DevOps.

    Screenshot showing a new pull request created.

    Screenshot showing created pull request.

Рабочий процесс запроса на вытягивание позволяет не только проверять и проверять изменения, но и автоматически активировать конвейер сборки.

Screenshot showing report change.

Если в одном из правил возникает ошибка сборки с высоким уровнем серьезности, вы не сможете завершить запрос на вытягивание и объединить изменения обратно в основную ветвь.

Screenshot completed pull request.

Дополнительные сведения об интеграции PBIP и Fabric Git см. в записи блога.