Настройка конвейеров CI/CD
TeamsFx помогает автоматизировать рабочий процесс разработки при создании приложения Microsoft Teams. Средства и шаблоны для настройки конвейеров CI/CD — это создание шаблонов рабочих процессов и настройка рабочего процесса CI/CD с помощью GitHub, Azure DevOps, Jenkins и других платформ. Для подготовки ресурсов можно создать субъекты-службы Azure и использовать конвейер Подготовки или сделать это вручную с помощью файлов bicep. Чтобы опубликовать приложение Teams, можно использовать конвейер Публикации или сделать это вручную, используя портал разработчика для Teams.
Инструменты и шаблоны
Настройка конвейеров
Вы можете настроить конвейеры на следующих платформах:
- Настройка рабочих процессов с помощью GitHub
- Настройка конвейеров с помощью Azure DevOps
- Настройка конвейеров с помощью Jenkins
- Настройка конвейеров для других платформ
Типы шаблонов рабочих процессов
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
- Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
- Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
- Поместите их в
.github/workflows
папку , которая является указанной папкой для GitHub Actions. - Зафиксируйте и отправьте эти файлы шаблонов в удаленные репозитории.
- Добавьте необходимые зашифрованные секреты для рабочих процессов.
- Активируйте рабочие процессы. Дополнительные сведения о запуске рабочего процесса см. на сайте GitHub.
Настройка рабочего процесса CI
Чтобы настроить рабочий процесс CI, можно выполнить следующие действия:
- Изменение триггера. По умолчанию рабочий процесс CI активируется при создании нового запроса на вытягивание в
dev
ветви. - Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка рабочего процесса CD
Чтобы настроить рабочий процесс CD, можно выполнить следующие действия.
- Изменение триггера. По умолчанию рабочий процесс CD активируется при отправке новых фиксаций в ветвь
main
. - Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
TEAMSFX_CLI_VERSION
среды: по умолчанию значение равно2.*
. - Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка рабочего процесса подготовки и публикации
Чтобы настроить рабочий процесс подготовки и публикации, можно выполнить следующие действия.
- Изменение триггера. По умолчанию рабочий процесс активируется вручную.
- Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
TEAMSFX_CLI_VERSION
среды: по умолчанию значение равно2.*
.
Настройка конвейеров с помощью Azure DevOps
Чтобы настроить конвейеры с помощью Azure DevOps для CI/CD:
- Создание конвейеров CI/CD.
- Настройка конвейеров CI/CD.
Создание конвейеров CI/CD
- Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
- Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
- Поместите их в
.azure/pipelines
папку , которая является обычной папкой для Azure Pipelines. - Зафиксируйте и отправьте эти файлы шаблонов в удаленные репозитории.
- Создайте соответствующие конвейеры Azure DevOps, выполнив команду Создание первого конвейера Azure DevOps.
- Добавьте необходимые переменные конвейера Azure DevOps для конвейеров.
- Активируйте конвейеры автоматически, вручную или настраивайте (проверьте
trigger:
раздел илиpr:
в файлах yml, чтобы найти триггеры). Дополнительные сведения о триггерах в Azure DevOps см. в разделе Триггеры в конвейерах Azure.
Настройка конвейера CI
Чтобы настроить конвейер CI, можно выполнить следующие действия.
- Изменение триггера. По умолчанию конвейер CI активируется при создании нового запроса на вытягивание в
dev
ветви. - Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка конвейера CD
Чтобы настроить конвейер CD, можно выполнить следующие действия.
- Изменение триггера. По умолчанию конвейер CD активируется при отправке новых фиксаций в ветвь
main
. - Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
TEAMSFX_CLI_VERSION
среды: по умолчанию значение равно2.*
. - Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка конвейеров подготовки и публикации
Чтобы настроить конвейер подготовки и публикации, можно выполнить следующие действия.
- Изменение триггера. По умолчанию рабочий процесс активируется вручную.
- Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
TEAMSFX_CLI_VERSION
среды: по умолчанию значение равно2.*
.
Настройка конвейеров с помощью Jenkins
Чтобы настроить конвейеры с Jenkins для CI/CD:
- Создание конвейеров CI/CD.
- Настройка конвейеров CI/CD.
Создание конвейеров CI/CD
- Скачайте соответствующие файлы шаблонов из раздела Сервис и Шаблоны.
- Переименуйте скачанные файлы шаблонов в соответствии с вашими потребностями.
- Поместите их в
.jenkins/pipelines
папку , которая может быть обычной папкой для конвейеров Jenkins.
Настройка конвейера CI
Чтобы настроить конвейер CI, можно выполнить следующие действия.
- Изменение триггера. По умолчанию конвейер CI активируется периодически.
- Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка конвейера CD
Чтобы настроить конвейер CD, можно выполнить следующие действия.
- Изменение триггера. По умолчанию конвейер CD активируется периодически.
- Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
TEAMSFX_CLI_VERSION
среды: по умолчанию значение равно2.*
. - Добавление скриптов для сборки проекта. По умолчанию
Build the project
шаг закомментирован. - Добавление скриптов для выполнения модульного теста. По умолчанию
Run unit test
шаг закомментирован.
Настройка конвейеров подготовки и публикации
Чтобы настроить конвейер подготовки и публикации, можно выполнить следующие действия.
- Изменение триггера. По умолчанию конвейер активируется периодически.
- Изменение значения переменной
TEAMSFX_ENV_NAME
среды: по умолчанию значение равноdev
. - Изменение значения переменной
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.
- Зарегистрируйте приложение Microsoft Entra в одном клиенте.
- Назначьте роль приложению Microsoft Entra для доступа к подписке Azure. Роль
Contributor
рекомендуется. - Создайте секрет приложения Microsoft Entra.
Совет
Сохраните свой идентификатор клиента, идентификатор приложения (AZURE_SERVICE_PRINCIPAL_NAME) и секрет (AZURE_SERVICE_PRINCIPAL_PASSWORD) для использования в будущем.
Дополнительные сведения см. в Руководстве по субъектам-службам Azure. Ниже приведены три способа создания субъектов-служб.
Публикация приложения Teams с помощью портала разработчиков Teams
При наличии каких-либо изменений, связанных с файлом манифеста приложения Teams, вы можете обновить манифест и снова опубликовать приложение Teams. Чтобы опубликовать приложение Teams вручную, можно использовать портал разработчика для Teams.
Выполните следующие шаги, чтобы опубликовать приложение:
- Войдите на Портал разработчика для Teams, используя соответствующую учетную запись.
- Импортируйте пакет приложения в ZIP-файле, выберите App> Import appReplace (Импорт приложения).>
- Выберите целевое приложение в списке приложений.
- Чтобы опубликовать приложение, выберите Опубликовать>публикацию в организации.
Дополнительные ресурсы
Platform Docs
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по