Configurar pipelines de CI/CD
O TeamsFx ajuda a automatizar seu fluxo de trabalho de desenvolvimento durante a criação de aplicativos do Teams. As ferramentas e modelos para configurar pipelines de CI/CD são criar modelos de fluxo de trabalho e personalizar o fluxo de trabalho de CI/CD com GitHub, Azure DevOps, Jenkins e outras plataformas. Para provisionar recursos, você pode criar entidades de serviço do Azure e usar o pipeline Provisionar ou fazê-lo manualmente aproveitando arquivos bicep. Para publicar o aplicativo teams, você pode usar o pipeline Publicar ou fazê-lo manualmente aproveitando o Portal do Desenvolvedor para o Teams.
Ferramentas e Modelos
Configurar pipelines
Você pode configurar pipelines com as seguintes plataformas:
- Configurar fluxos de trabalho com o GitHub
- Configurar pipelines com o Azure DevOps
- Configurar pipelines com o GitHub
- Configurar pipelines para outras plataformas
Tipos de modelo de fluxo de trabalho
O TeamsFx dá suporte a quatro tipos de modelos de fluxo de trabalho:
- CI: ajudar o código de checkout, a compilação e o teste de execução.
- CD: ajudar o código de check-out, compilar, testar e implantar na nuvem.
- Provisionamento: ajuda a criar ou atualizar recursos em registros de aplicativos do Teams e na nuvem.
- Publicar: Ajuda a publicar o aplicativo do Teams para locatários.
Preparar credenciais
Duas categorias de credenciais de entrada estão envolvidas em fluxos de trabalho de CI/CD:
- Microsoft 365: as credenciais do Microsoft 365 são necessárias para executar os fluxos de trabalho de CD de projetos baseados em Provision, Publish e SPFx.
- Azure: as credenciais do Azure são necessárias para executar os fluxos de trabalho de Provisionamento e CD de projetos hospedados do Azure.
Observação
A ID da assinatura do Azure é necessária para ser definida em variável de ambiente ou env/.env.*
arquivos antes de executar fluxos de trabalho provisionar. O nome da variável usado é AZURE_SUBSCRIPTION_ID
. Além disso, não se esqueça de confirmar e enviar arquivos env/.env.*
por push para repositórios Git ou definir variáveis de ambiente de pipelines, pois eles são ignorados por arquivo por .gitignore
padrão.
Nome | Descrição |
---|---|
AZURE_SERVICE_PRINCIPAL_NAME | O nome da entidade de serviço do Azure usado para provisionar recursos. |
AZURE_SERVICE_PRINCIPAL_PASSWORD | A senha da entidade de serviço do Azure. |
AZURE_SUBSCRIPTION_ID | Para identificar a assinatura na qual os recursos devem ser provisionados. |
AZURE_TENANT_ID | Para identificar o locatário no qual a assinatura reside. |
M365_ACCOUNT_NAME | A conta do Microsoft 365 para criar e publicar o Aplicativo teams. |
M365_ACCOUNT_PASSWORD | A senha da conta do Microsoft 365. |
M365_TENANT_ID | Para identificar o locatário no qual o Aplicativo teams é criado ou publicado. Esse valor é opcional, a menos que você tenha uma conta multilocatário e queira usar outro locatário. Leia mais sobre como encontrar sua ID de locatário do Microsoft 365. |
Observação
- Atualmente, um estilo de autenticação não interativo para o Microsoft 365 é usado em fluxos de trabalho de CI/CD, portanto, verifique se sua conta do Microsoft 365 tem privilégios suficientes em seu locatário e não tem autenticação multifator ou outros recursos de segurança avançados habilitados. Consulte a Configuração das Credenciais do Microsoft 365 para verificar se você desabilitou a Autenticação Multifator e os Padrões de Segurança para as credenciais usadas no fluxo de trabalho.
- Atualmente, a entidade de serviço do Azure é usada em fluxos de trabalho de CI/CD e, para criar entidades de serviço do Azure para uso, consulte aqui.
Tipos de host
Os modelos variam em tipos de host (Azure ou SPFx) pelos quais modelos de fluxo de trabalho provisionar e cd são divididos em cópias. CI, Publicar modelos de fluxo de trabalho são independentes do tipo host. Se você estiver trabalhando em projetos hospedados no Azure, baixe esses modelos com o nome do arquivo de azure
infixos. Se você estiver trabalhando em projetos hospedados no SPFx, baixe esses modelos com o nome do arquivo de spfx
infixos.
Configurar fluxos de trabalho com o GitHub
Para configurar pipelines com o GitHub para CI/CD:
- Criar fluxos de trabalho de CI/CD.
- Personalizar fluxos de trabalho de CI/CD.
Criar fluxos de trabalho de CI/CD
- Baixe os arquivos de modelo correspondentes de Ferramentas e Modelos.
- Renomeie os arquivos de modelo baixados pelas suas necessidades.
- Coloque-os em
.github/workflows
, que é a pasta designada para GitHub Actions. - Confirme e pressione esses arquivos de modelo em repositórios remotos.
- Adicione os segredos criptografados necessários para seus fluxos de trabalho.
- Dispare seus fluxos de trabalho. Verifique mais detalhes sobre como disparar um fluxo de trabalho no GitHub.
Personalizar fluxo de trabalho de CI
Para personalizar o fluxo de trabalho de CI, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o fluxo de trabalho de CI é disparado quando uma nova solicitação de pull é criada em relação ao
dev
branch. - Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar fluxo de trabalho de CD
Para personalizar o fluxo de trabalho de CD, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o fluxo de trabalho de CD é disparado quando novos commits são empurrados para o
main
branch. - Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
. - Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar provisionamento e publicar fluxo de trabalho
Para personalizar o fluxo de trabalho Provisionar e Publicar, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o fluxo de trabalho é disparado manualmente.
- Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
.
Configurar pipelines com Azure DevOps
Para configurar pipelines com Azure DevOps para CI/CD:
- Criar pipelines de CI/CD.
- Personalize pipelines de CI/CD.
Criar pipelines de CI/CD
- Baixe os arquivos de modelo correspondentes de Ferramentas e Modelos.
- Renomeie os arquivos de modelo baixados pelas suas necessidades.
- Coloque-os em
.azure/pipelines
, que é a pasta convencional para Pipelines do Azure. - Confirme e pressione esses arquivos de modelo em repositórios remotos.
- Crie pipelines correspondentes do Azure DevOps seguindo Criar seu primeiro Pipeline do Azure DevOps.
- Adicione as variáveis necessárias do Pipeline do Azure DevOps para seus pipelines.
- Dispare seus pipelines automaticamente, manualmente ou personalize (Verifique a
trigger:
seção oupr:
em arquivos yml para localizar os gatilhos). Para obter mais informações sobre gatilhos no Azure DevOps, consulte Gatilhos em pipelines do Azure.
Personalizar o pipeline de CI
Para personalizar o pipeline de CI, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o pipeline de CI é disparado quando uma nova solicitação de pull é criada em relação ao
dev
branch. - Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar pipeline de CD
Para personalizar o pipeline de CD, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o pipeline de CD é disparado quando novos commits são empurrados para o
main
branch. - Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
. - Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar pipelines provision e publicar
Para personalizar o pipeline Provisionar e Publicar, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o fluxo de trabalho é disparado manualmente.
- Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
.
Configurar pipelines com Jenkins
Para configurar pipelines com Jenkins para CI/CD:
- Criar pipelines de CI/CD.
- Personalize pipelines de CI/CD.
Criar pipelines de CI/CD
- Baixe os arquivos de modelo correspondentes de Ferramentas e Modelos.
- Renomeie os arquivos de modelo baixados pelas suas necessidades.
- Coloque-os em
.jenkins/pipelines
, que pode ser uma pasta convencional para Jenkins Pipelines.
Personalizar o pipeline de CI
Para personalizar o pipeline de CI, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o pipeline de CI é disparado periodicamente.
- Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar pipeline de CD
Para personalizar o pipeline de CD, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o pipeline de CD é disparado periodicamente.
- Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
. - Adicione scripts para criar o projeto: por padrão, a
Build the project
etapa é comentada. - Adicionar scripts para executar o teste de unidade: por padrão, a
Run unit test
etapa é comentada.
Personalizar pipelines provision e publicar
Para personalizar o pipeline Provisionar e Publicar, você pode fazer o seguinte:
- Alterar o gatilho: por padrão, o pipeline é disparado periodicamente.
- Alterar o valor da variável
TEAMSFX_ENV_NAME
de ambiente : por padrão, o valor édev
. - Alterar o valor da variável
TEAMSFX_CLI_VERSION
de ambiente : por padrão, o valor é2.*
.
Configurar pipelines para outras plataformas
Você pode seguir os scripts de bash de exemplo predefinidos listados de Ferramentas e Modelos para criar e personalizar pipelines de CI/CD nas outras plataformas:
Os scripts são baseados em uma ferramenta de linha de comando do TeamsFx multiplataforma TeamsFx-CLI. Você pode instalá-lo com npm install -g @microsoft/teamsfx-cli
e seguir a documentação para personalizar os scripts.
Observação
- Para habilitar
@microsoft/teamsfx-cli
em execução no modo CI, ativeCI_ENABLED
porexport CI_ENABLED=true
. No modo CI,@microsoft/teamsfx-cli
é amigável para CI/CD. - Para habilitar
@microsoft/teamsfx-cli
em execução no modo não interativo, defina uma configuração global com o comando:teamsfx config set -g interactive false
. No modo não interativo,@microsoft/teamsfx-cli
não solicita entradas.
Certifique-se de configurar as credenciais do Azure e do Microsoft 365 em suas variáveis de ambiente com segurança. Por exemplo, se você estiver usando o GitHub como repositório de código-fonte, consulte GitHub Secrets.
Como criar entidades de serviço do Azure para uso?
Para provisionar e implantar recursos direcionados ao Azure dentro de CI/CD, você deve criar uma entidade de serviço do Azure para uso.
Execute as seguintes etapas para criar entidades de serviço do Azure:
- Registre um aplicativo Microsoft Azure Active Directory (Azure AD) em um único locatário.
- Atribua uma função ao seu aplicativo do Azure AD para acessar sua assinatura do Azure. A função
Contributor
é recomendada. - Crie um novo segredo do aplicativo do Azure AD.
Dica
Salve sua ID de locatário, ID do aplicativo (AZURE_SERVICE_PRINCIPAL_NAME) e o segredo (AZURE_SERVICE_PRINCIPAL_PASSWORD) para uso futuro.
Para obter mais informações, consulteDiretrizes de entidades de serviço do Azure. A seguir estão as três maneiras de criar entidades de serviço:
Publicar o aplicativo do Teams usando o Portal do Desenvolvedor do Teams
Se houver alterações relacionadas ao arquivo de manifesto do aplicativo Teams, você poderá atualizar o manifesto e publicar o aplicativo do Teams novamente. Para publicar o aplicativo do Teams manualmente, você pode aproveitar o Portal do Desenvolvedor para o Teams.
Execute as seguintes etapas para publicar o aplicativo :
- Entre no Portal do desenvolvedor para o Teams usando a conta correspondente.
- Importe seu pacote de aplicativo no zip, selecioneAplicativo de Importaçãode Aplicativo>>Substitua.
- Selecione o aplicativo de destino na lista de aplicativos.
- Para publicar seu aplicativo, selecione Publicar>em sua organização.