Настройка конвейеров CI/CD

TeamsFx помогает автоматизировать рабочий процесс разработки при создании приложения Microsoft Teams. Средства и шаблоны для настройки конвейеров CI/CD — это создание шаблонов рабочих процессов и настройка рабочего процесса CI/CD с помощью GitHub, Azure DevOps, Jenkins и других платформ. Для подготовки ресурсов можно создать субъекты-службы Azure и использовать конвейер Подготовки или сделать это вручную с помощью файлов bicep. Чтобы опубликовать приложение Teams, можно использовать конвейер Публикации или сделать это вручную, используя портал разработчика для Teams.

Инструменты и шаблоны

Инструменты и шаблоны Описание
TeamsFx-CLI-Action Действие GitHub, интегрирующееся с TeamsFx CLI.
Набор средств Microsoft Teams для Visual Studio Code Расширение Microsoft Visual Studio Code, помогающее разрабатывать рабочие процессы приложений и автоматизации Teams для GitHub, Azure DevOps и Jenkins.
Набор средств Microsoft Teams для CLI Инструмент командной строки, помогающий разрабатывать приложения Teams и рабочие процессы автоматизации для GitHub, Azure DevOps и Jenkins.
github/ci.yml
github/cd.azure.yml
github/cd.spfx.yml
github/provision.azure.yml
github/provision.spfx.yml
github/publish.yml
Шаблоны для автоматизации на GitHub.
azdo/ci.yml
azdo/cd.azure.yml
azdo/cd.spfx.yml
azdo/provision.azure.yml
azdo/provision.spfx.yml
azdo/publish.yml
Шаблоны для автоматизации в Azure DevOps.
jenkins/Jenkinsfile.ci
jenkins/Jenkinsfile.azure.cd
jenkins/Jenkinsfile.spfx.cd
jenkins/Jenkinsfile.azure.provision
jenkins/Jenkinsfile.spfx.provision
jenkins/Jenkinsfile.publish
Шаблоны для автоматизации в Jenkins.
другие/ci.sh
другие/cd.azure.sh
другие/cd.spfx.sh
другие/provision.azure.sh
другие/provision.spfx.sh
другие/publish.sh
Шаблоны скриптов для автоматизации за пределами GitHub, Azure DevOps или Jenkins.

Настройка конвейеров

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

  1. Настройка рабочих процессов с помощью GitHub
  2. Настройка конвейеров с помощью Azure DevOps
  3. Настройка конвейеров с помощью Jenkins
  4. Настройка конвейеров для других платформ

Типы шаблонов рабочих процессов

TeamsFx поддерживает четыре типа шаблонов рабочих процессов:

  • CI: помощь в извлечении кода, сборке и выполнении теста.
  • CD: справка по извлечению кода, сборке, тестированию и развертыванию в облаке.
  • Подготовка. Помощь в создании или обновлении ресурсов в регистрации облачных приложений и приложений Teams.
  • Опубликовать. Помогите опубликовать приложение Teams для клиентов.

Подготовка учетных данных

В рабочих процессах CI/CD используются две категории учетных данных для входа:

  • Microsoft 365: учетные данные Microsoft 365 необходимы для выполнения рабочих процессов cd проектов на основе подготовки, публикации и SPFx.
  • Azure. Учетные данные Azure необходимы для выполнения рабочих процессов подготовки и cd размещенных проектов Azure.

Примечание.

Идентификатор подписки Azure необходимо задать в переменной среды или env/.env.* файлах перед запуском рабочих процессов подготовки. Используемое имя переменной — AZURE_SUBSCRIPTION_ID. Кроме того, не забудьте зафиксировать и отправить файлы env/.env.* в репозитории Git или задать переменные среды конвейеров, так как они игнорируются файлом .gitignore по умолчанию.

Имя Описание
AZURE_SERVICE_PRINCIPAL_NAME Имя субъекта-службы Azure, используемое для подготовки ресурсов.
AZURE_SERVICE_PRINCIPAL_PASSWORD Пароль субъекта-службы Azure.
AZURE_SUBSCRIPTION_ID Определение подписки, в которой должны быть подготовлены ресурсы.
AZURE_TENANT_ID Определение клиента, в котором находится подписка.
M365_ACCOUNT_NAME Учетная запись Microsoft 365 для создания и публикации приложения Teams.
M365_ACCOUNT_PASSWORD Пароль учетной записи Microsoft 365.
M365_TENANT_ID Определение клиента, в котором создается или публикуется приложение Teams. Это значение является необязательным, если у вас нет мультитенантной учетной записи и вы хотите использовать другой клиент. Узнайте больше о том, как найти идентификатор клиента Microsoft 365.

Примечание.

  • В настоящее время в рабочих процессах CI/CD используется неинтерактивный стиль проверки подлинности для Microsoft 365, поэтому убедитесь, что ваша учетная запись Microsoft 365 имеет достаточные привилегии в клиенте и не имеет многофакторной проверки подлинности или других расширенных функций безопасности. Сведения о настройке учетных данных Microsoft 365 см. в статье Настройка учетных данных Microsoft 365 , чтобы убедиться, что вы отключили многофакторную проверку подлинности и параметры безопасности по умолчанию для учетных данных, используемых в рабочем процессе.
  • В настоящее время субъект-служба для Azure используется в рабочих процессах CI/CD, а сведения о создании субъектов-служб Azure для использования см. здесь.

Типы узлов

Шаблоны различаются по типам узлов (Azure или SPFx), по которым шаблоны рабочих процессов подготовки и cd разделены на копии. CI, публикация шаблонов рабочих процессов не зависят от типа узла. Если вы работаете над проектами, размещенными в Azure, скачайте эти шаблоны с именем azure файла infixes. Если вы работаете с размещенными проектами SPFx, скачайте эти шаблоны с именем spfx файла infixes.

Настройка рабочих процессов с помощью GitHub

Чтобы настроить конвейеры с GitHub для CI/CD:

  • Создание рабочих процессов CI/CD.
  • Настройка рабочих процессов CI/CD.

Создание рабочих процессов CI/CD

  1. Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
  2. Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
  3. Поместите их в .github/workflowsпапку , которая является указанной папкой для GitHub Actions.
  4. Зафиксируйте и отправьте эти файлы шаблонов в удаленные репозитории.
  5. Добавьте необходимые зашифрованные секреты для рабочих процессов.
  6. Активируйте рабочие процессы. Дополнительные сведения о запуске рабочего процесса см. на сайте GitHub.

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

Чтобы настроить рабочий процесс CI, можно выполнить следующие действия:

  1. Изменение триггера. По умолчанию рабочий процесс CI активируется при создании нового запроса на вытягивание в dev ветви.
  2. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  3. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

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

Чтобы настроить рабочий процесс CD, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию рабочий процесс CD активируется при отправке новых фиксаций в ветвь main .
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.
  4. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  5. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

Настройка рабочего процесса подготовки и публикации

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

  1. Изменение триггера. По умолчанию рабочий процесс активируется вручную.
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.

Настройка конвейеров с помощью Azure DevOps

Чтобы настроить конвейеры с помощью Azure DevOps для CI/CD:

  • Создание конвейеров CI/CD.
  • Настройка конвейеров CI/CD.

Создание конвейеров CI/CD

  1. Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
  2. Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
  3. Поместите их в .azure/pipelinesпапку , которая является обычной папкой для Azure Pipelines.
  4. Зафиксируйте и отправьте эти файлы шаблонов в удаленные репозитории.
  5. Создайте соответствующие конвейеры Azure DevOps, выполнив команду Создание первого конвейера Azure DevOps.
  6. Добавьте необходимые переменные конвейера Azure DevOps для конвейеров.
  7. Активируйте конвейеры автоматически, вручную или настраивайте (проверьте trigger: раздел или pr: в файлах yml, чтобы найти триггеры). Дополнительные сведения о триггерах в Azure DevOps см. в разделе Триггеры в конвейерах Azure.

Настройка конвейера CI

Чтобы настроить конвейер CI, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию конвейер CI активируется при создании нового запроса на вытягивание в dev ветви.
  2. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  3. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

Настройка конвейера CD

Чтобы настроить конвейер CD, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию конвейер CD активируется при отправке новых фиксаций в ветвь main .
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.
  4. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  5. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

Настройка конвейеров подготовки и публикации

Чтобы настроить конвейер подготовки и публикации, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию рабочий процесс активируется вручную.
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.

Настройка конвейеров с помощью Jenkins

Чтобы настроить конвейеры с Jenkins для CI/CD:

  • Создание конвейеров CI/CD.
  • Настройка конвейеров CI/CD.

Создание конвейеров CI/CD

  1. Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
  2. Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
  3. Поместите их в .jenkins/pipelinesпапку , которая может быть обычной папкой для конвейеров Jenkins.

Настройка конвейера CI

Чтобы настроить конвейер CI, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию конвейер CI активируется периодически.
  2. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  3. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

Настройка конвейера CD

Чтобы настроить конвейер CD, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию конвейер CD активируется периодически.
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.
  4. Добавление скриптов для сборки проекта. По умолчанию Build the project шаг закомментирован.
  5. Добавление скриптов для выполнения модульного теста. По умолчанию Run unit test шаг закомментирован.

Настройка конвейеров подготовки и публикации

Чтобы настроить конвейер подготовки и публикации, можно выполнить следующие действия.

  1. Изменение триггера. По умолчанию конвейер активируется периодически.
  2. Изменение значения переменной TEAMSFX_ENV_NAMEсреды: по умолчанию значение равно dev.
  3. Изменение значения переменной TEAMSFX_CLI_VERSIONсреды: по умолчанию значение равно 2.*.

Настройка конвейеров для других платформ

Чтобы создавать и настраивать конвейеры CI/CD на других платформах, можно следовать стандартным примерам скриптов bash из инструментов и шаблонов .

Скрипты основаны на кроссплатформенном инструменте командной строки TeamsFx TeamsFx-CLI. Вы можете установить его npm install -g @microsoft/teamsfx-cli и следовать документации, чтобы настроить скрипты.

Примечание.

  • Чтобы включить @microsoft/teamsfx-cli работающий в режиме CI, включите CI_ENABLED с помощью export CI_ENABLED=true. В режиме CI @microsoft/teamsfx-cli подходит для CI/CD.
  • Чтобы @microsoft/teamsfx-cli работал в неинтерактивном режиме, установите глобальный config командой: teamsfx config set -g interactive false. В неинтерактивном режиме @microsoft/teamsfx-cli не запрашивает входные данные.

Обязательно настройте учетные данные Azure и Microsoft 365 в переменных среды безопасно. Например, если вы используете GitHub в качестве репозитория исходного кода, см. секреты GitHub

Как создать субъекты-службы Azure для использования?

Чтобы подготовить и развернуть ресурсы, предназначенные для Azure, внутри CI/CD, необходимо создать субъект-службу Azure для использования.

Выполните следующие действия, чтобы создать субъекты-службы Azure.

  1. Зарегистрируйте приложение Microsoft Entra в одном клиенте.
  2. Назначьте роль приложению Microsoft Entra для доступа к подписке Azure. Роль Contributor рекомендуется.
  3. Создайте секрет приложения Microsoft Entra.

Совет

Сохраните свой идентификатор клиента, идентификатор приложения (AZURE_SERVICE_PRINCIPAL_NAME) и секрет (AZURE_SERVICE_PRINCIPAL_PASSWORD) для использования в будущем.

Дополнительные сведения см. в Руководстве по субъектам-службам Azure. Ниже приведены три способа создания субъектов-служб.

Публикация приложения Teams с помощью портала разработчиков Teams

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

Выполните следующие шаги, чтобы опубликовать приложение:

  1. Войдите на Портал разработчика для Teams, используя соответствующую учетную запись.
  2. Импортируйте пакет приложения в ZIP-файле, выберите App> Import appReplace (Импорт приложения).>
  3. Выберите целевое приложение в списке приложений.
  4. Чтобы опубликовать приложение, выберите Опубликовать>публикацию в организации.

Дополнительные ресурсы