Руководство. Автоматизация развертывания решения с помощью GitHub Actions для Microsoft Power Platform

В этом руководстве вы узнаете, как:

  • Создайте новый репозиторий GitHub
  • Создание двух рабочих процессов GitHub с помощью GitHub Actions для Microsoft Power Platform

Рабочие процессы могут автоматически экспортировать ваше приложение (как неуправляемое решение) из среды разработки, создавать артефакт сборки (управляемое решение) и развертывать приложение в производственной среде. В этом руководстве используется решение ALMLab, которое вы создали, и среды, которые вы настроили в предыдущих руководствах.

Связанные руководства: Начало работы и Создание приложения на основе модели.

Создание учетной записи GitHub

  1. Перейдите на https://github.com и выберите «Регистрация» или «Начать бесплатную пробную версию» (или войдите, если у вас уже есть учетная запись).

    Создать учетную запись

  2. После создания учетной записи создайте репозиторий, выбрав Создать репозиторий или Создать.

    Создание репозитория

    Вы можете увидеть следующий альтернативный начальный экран:

    Создание нового репозитория

  3. Создайте новый репозиторий и назовите его poweractionslab. Выберите "Добавить файл README", чтобы инициировать репозиторий, и нажмите кнопку "Создать репозиторий".

    Инициализировать репозиторий.

Создание нового секрета для аутентификации Service Principal

  1. Перейдите в репозиторий и выберите Настройки. Разверните Secrets и выберите Действия.

  2. На странице секретов назовите секрет PowerPlatformSPN. Введите секрет клиента из регистрации приложения, созданной в Microsoft Entra в поле "Значение", а затем нажмите кнопку "Добавить секрет". Позже в этом руководстве вы будете ссылаться на секрет клиента в файлах YML, определяющих рабочие процессы GitHub.

    Создайте секрет субъекта-службы

    Секрет клиента теперь надежно хранится как секрет GitHub.

Создание рабочего процесса для экспорта и распаковки файла решения в новую ветку

  1. Выберите "Действия", а затем выберите настроить рабочий процесс самостоятельно. Или выберите Настроить в поле Простой рабочий процесс в разделе, рекомендуемом для этого репозитория.

    Настройка рабочего процесса.

  2. Вы увидите новый файл YAML с базовым рабочим процессом, который поможет вам приступить к работе с GitHub Actions.

    Пример файла YML

  3. Удалите предварительно созданное содержимое, а затем вставьте содержимое из файла export-and-branch-solution-with-spn-auth.yml. Переименуйте файл в export-and-branch-solution.yml.

    Переименуйте и замените содержимое.

  4. Обновите <ENVIRONMENTURL>, указав URL-адрес среды разработки, из которой вы хотите выполнить экспорт (например: https://poweractionsdev.crm.dynamics.com).

  5. Измените <APPID> и <TENANT ID>, введя свои значения.

    • Если вы используете учетные данные, вставьте содержимое файла export-and-branch-solution.yml вместо содержимого файла export-and-branch-solution-with-spn-auth.yml. Обновите <USERNAME>, указав имя пользователя, используемое для подключения к среде.

      Переименовать и заменить содержимое

    Совет

    Если вы не знакомы с GitHub Actions и хотите узнать больше, ознакомьтесь с официальной документацией: https://docs.github.com/en/actions

  6. Теперь вы готовы закоммитить изменения. Выберите Начать коммит, введите Создать yml экспорта в поле заголовка, затем добавьте описание (необязательно). Далее выберите Закоммитить новый файл.

    Начать фиксацию.

Поздравляем, вы создали первый рабочий процесс GitHub с помощью следующих actions:

  • Кто я: гарантирует, что вы можете успешно подключиться к среде, из которой вы хотите выполнить экспорт.
  • Экспортировать решение: экспортирует файл решения из среды разработки.
  • Решение для распаковки: Файл решения, экспортируемый сервером, представляет собой сжатый ZIP-файл с консолидированными файлами конфигурации. Эти исходные файлы не подходят для систем управления версиями, поскольку они не имеют такой структуры, которая позволяла бы этим системам корректно сравнивать различия между версиями файлов и фиксировать изменения, которые вы хотите сохранить в системе управления версиями. Необходимо распаковать файлы решения, чтобы сделать их подходящими для хранения и обработки системы управления версиями.
  • Решение для ветви: создает новую ветвь для хранения экспортированного решения.

Проверьте процесс экспорта и распаковки

  1. Затем проверьте, работает ли рабочий процесс. Перейдите в Действия, выберите Запустить рабочий процесс и затем выберите Запустить рабочий процесс. Если вы используете имя решения, отличное от ALMLab, измените здесь это значение, но остальные значения оставьте без изменений.

    Запустите рабочий процесс.

  2. Через 5–10 секунд процесс запустится. Чтобы отслеживать ход выполнения, можно выбрать запущенный рабочий процесс.

    Щелкните, чтобы просмотреть бизнес-процесс.

    Выберите и просмотрите рабочий процесс.

  3. После завершения рабочего процесса убедитесь, что новая ветка создается с распаковкой решения в папку solutions/ALMLab. Перейдите на вкладку "Код" и разверните раскрывающийся список ветвей.

  4. Выберите ветку, которую создало это действие.

  5. Убедитесь, что папка solutions/ALMLab создана в новой ветви. Затем создайте pull request, чтобы объединить изменения в основную ветвь. Выберите Contribute и во всплывающем меню выберите Open Pull request.

  6. На экране «Открыть pull request» при желании добавьте заголовок и описание, затем нажмите «Создать pull request».

  7. Экран обновляется, и на нём отображается новый pull request. Когда вы создаёте запрос на слияние, вы получаете подтверждение того, что у вашей ветви нет конфликтов с основной ветвью. Это подтверждение означает, что изменения можно автоматически объединить с основной ветвью. Выберите Слить pull request, а затем выберите Подтвердить слияние. При необходимости выберите "Удалить ветвь", чтобы удалить ее.

    Просмотр ветвей

  8. Вернитесь в ветку по умолчанию (main) и убедитесь, что решение доступно в ней.

Создайте повторно используемый рабочий процесс, чтобы создать артефакт сборки и импортировать его в рабочую среду.

В этом разделе создайте дополнительный рабочий процесс, который:

  • Создает управляемое решение и публикует его как артефакт GitHub
  • Импортирует артефакт сборки в производственную среду
  1. Перейдите к Actions и выберите New workflow.

    Создайте новый рабочий процесс.

  2. Выберите настроить рабочий процесс самостоятельно.

    Настройка рабочего процесса.

  3. Переименуйте заголовок рабочего процесса на release-solution-to-prod-with-inputs. Скопируйте содержимое из файла release-solution-to-prod-with-inputs.yml и вставьте его на экран Редактировать новый файл.

    Переименуйте и вставьте код.

  4. Зафиксируйте изменения. Выберите Создать коммит, затем добавьте заголовок и описание (необязательно). Далее выберите Закоммитить новый файл.

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

Вызовите повторно используемый рабочий процесс при событии выпуска

В этом разделе описано, как вызвать повторно используемый рабочий процесс в событии release.

  1. Перейдите в Действия и выберите Новый рабочий процесс.

    Создание нового рабочего процесса.

  2. Выберите настройку рабочего процесса самостоятельно.

    Настройте рабочий процесс.

  3. Переименуйте заголовок рабочего процесса на release-action-call. Скопируйте содержимое из файла release-action-call.yml и вставьте его в экран «Изменить новый файл».

    Переименовать и вставить код.

  4. Обновите следующие переменные в новом файле рабочего процесса:

    • Обновите <BUILD_ENVIRONMENT> с URL-адресом среды сборки, которую вы используете для создания управляемого решения. Например: https://poweractionsbuild.crm.dynamics.com.
    • Обновите <PROD_ENVIRONMENT>, указав URL-адрес рабочей среды, в которую выполняется развертывание. Например: https://poweractionsprod.crm.dynamics.com.
    • Обновите <APP_ID> идентификатором приложения (клиента), который вы найдете в разделе Регистрация приложений Microsoft портал Azure, выбрав регистрацию, созданную ранее в этом руководстве.
    • Обновите <TENANT_ID>, указав идентификатор каталога (клиента), который вы найдете в разделе Регистрация приложений портала Microsoft Azure, выбрав регистрацию, созданную ранее в этом руководстве.
  5. Зафиксируйте изменения. Выберите Начать коммит, затем добавьте заголовок (необязательно) и описание (необязательно). Далее выберите Создать коммит файла.

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

Протестируйте рабочий процесс выпуска в рабочую среду

Теперь вы готовы протестировать последний рабочий процесс. Этот рабочий процесс активируется при развертывании нового выпуска в рабочей среде.

  1. Перейдите в Выпуски.

    Перейдите к выпускам.

  2. Выберите Создать черновик новой версии.

  3. Добавьте тег выпуска, заголовок и выберите Опубликовать выпуск.

  4. Выберите Действия для просмотра выполняемого рабочего процесса.

    Выберите, чтобы просмотреть рабочий процесс.

  5. Выберите выполняющийся рабочий процесс, чтобы посмотреть, как выполняются действия.

    Просмотреть рабочий процесс.

  6. Дождитесь завершения каждого действия.

    Просмотреть ветку.

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

Разверните обновление и проверьте изменения перед выпуском в продакшен

Протестируйте сквозной процесс, а затем узнайте, как просматривать изменения в приложении и проверять их перед развертыванием в рабочей среде.

  1. Перейдите к решению ALMLab в среде разработки и выберите Изменить или выберите отображаемое название решения.

    Изменить решение.

  2. Выберите и просмотрите таблицу Запросы на отгул.

    Просмотрите таблицу.

  3. Выберите + Добавить столбец и создайте новый столбец, как показано на рисунке ниже.

    Добавить столбец.

    Обновлённые значения полей:**

    • Отображаемое имя: Одобрено
    • Тип данных: Да/Нет
  4. Нажмите кнопку Готово.

  5. Выберите Сохранить таблицу. Добавить столбец.

  6. Вернитесь на вкладку Actions в ваших репозиториях GitHub, выберите Run workflow и нажмите кнопку Run workflow.

    Запустите рабочий процесс.

  7. Через 5–10 секунд процесс запустится. Выберите запущенный процесс, чтобы отслеживать ход его выполнения.

    Выберите рабочий процесс.

    Просмотрите рабочий процесс.

  8. После завершения процесса перейдите к новой ветке, выбрав Код, а затем Ветки.

    Перейдите к ветви.

  9. Выберите ветвь, которую вы создали, развернув contribute и выбрав Open pull request.

  10. Добавьте заголовок (необязательно), а затем выберите Создать pull request.

  11. После обновления содержимого перейдите на вкладку Измененные файлы.

  12. Обратите внимание, что изменения в решении выделены зеленым, чтобы указать, что этот раздел файла был добавлен по сравнению с тем же файлом в основной ветви.

  13. Вернитесь на вкладку Беседа. Выберите запросы на включение и выберите созданный ранее запрос на включение.

  14. На странице запроса на включение выберите Объединить коммиты и выполнить слияние, чтобы объединить обновленный файл решения в основную ветвь. При необходимости удалите то, что теперь объединено с main.

    Откройте pull request для новой ветки, просмотрите изменения и объедините ее с веткой по умолчанию.

  15. Выполните действия, описанные в разделе Проверка выпуска в рабочую среду, чтобы создать новый выпуск и проверить, развернуто ли обновленное решение в рабочей среде.

Поздравляем, вы успешно настроили пример процесса CI/CD с помощью GitHub Actions!

См. также

Автоматизируйте свой рабочий процесс от идеи до производства