Учебник: автоматизация развертывания решения с помощью GitHub Actions для Microsoft Power Platform

Из этого учебника вы узнаете следующее:

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

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

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

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

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

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

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

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

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

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

  3. Создайте новый репозиторий и назовите его 'poweractionslab'. Убедитесь, что вы выбрали Добавить файл README, чтобы инициировать репозиторий, и выберите Создать репозиторий.

    Инициализация репозитория.

Создание нового секрета для аутентификации субъекта-службы

  1. Перейдите к вашему репозиторию и нажмите Настройки, затем разверните Секреты, а затем щелкните Действия.

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

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

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

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

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

    Настройка бизнес-процесса.

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

    Пример файла 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, используя следующие действия:

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

Тестирование рабочего процесса экспорта и распаковки

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

    Запустите бизнес-процесс.

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

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

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

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

  4. Выберите ветвь, созданную действием.

  5. Убедитесь, что папка solutions/ALMLab была создана в новой ветви, затем создайте запрос на вытягивание, чтобы объединить изменения в основную ветвь. Нажмите Сделать вклад и во всплывающем меню щелкните Открыть запрос на вытягивание.

  6. На экране Откройте запрос на вытягивание добавьте заголовок и описание по желанию, затем нажмите Создать запрос на вытягивание.

  7. Экран обновится, и отобразится только что созданный запрос на вытягивание. Когда запрос на вытягивание будет создан, вы увидите подтверждение, сообщающее, что наша ветка не конфликтует с основной веткой. Это подтверждение означает, что изменения могут быть автоматически объединены в основную ветку. Нажмите Объединить запрос на вытягивание, а затем нажмите Подтвердить объединение. При желании нажмите «Удалить ветку», чтобы очистить уже несуществующую ветку.

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

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

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

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

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

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

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

    Настройка бизнес-процесса.

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

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

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

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

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

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

  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. Вернитесь к своим репозиториям GitHub, на вкладке Действия выберите Запустить рабочий процесс и выберите кнопку Запустить рабочий процесс.

    Запуск бизнес-процесса.

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

    Выберите бизнес-процесс.

    Просмотр бизнес-процесса.

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

    Навигация к ветви.

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

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

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

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

  13. Вернитесь на вкладку Беседа. Выберите Запросы на вытягивание, а затем выберите ранее созданный запрос на вытягивание.

  14. На странице Запрос на вытягивание выберите Слияние со сжатием, чтобы объединить обновленный файл решения с вашей основной веткой, и при необходимости удалите файл, который теперь объединен с основной.

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

  15. Следуйте инструкциям в разделе Тестирование выпуска в производственный рабочий процесс, чтобы создать новый выпуск и убедиться, что обновленное решение развернуто в вашей производственной среде.

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

См. также

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