Compartilhar via


Tutorial: Implantar ambientes em CI/CD usando o Azure Pipelines

Neste tutorial, você aprenderá a integrar o ADE (Ambientes de Implantação do Azure) ao pipeline de CI/CD do Azure Pipelines.

A integração contínua e entrega contínua (CI/CD) é uma abordagem de desenvolvimento de software que ajuda as equipes a automatizar o processo de criação, teste e implantação de alterações de software. A CI/CD permite que você libere alterações de software com mais frequência e com maior confiança.

Antes de iniciar este tutorial, familiarize-se com os recursos e conceitos dos Ambientes de Implantação examinando os Principais conceitos para ambientes de implantação do Azure.

Neste tutorial, você aprenderá a:

  • Criar e configurar um repositório do Azure Repos
  • Conectar o catálogo ao centro de desenvolvimento
  • Configurar a conexão de serviço
  • Criar um pipeline
  • Criar um ambiente
  • Testar o pipeline de CI/CD

Pré-requisitos

Criar e configurar um repositório do Azure Repos

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto. Substitua o espaço reservado de texto <your-organization> pelo identificador do projeto.
  2. Selecione Repos>Arquivos.
  3. Em Importar um repositório, selecione Importar.
  4. Em Importar um repositório Git, selecione ou insira o seguinte:

Configurar tipos de ambiente

Os tipos de ambiente definem os diferentes tipos de ambientes que suas equipes de desenvolvimento podem implantar. Você pode aplicar configurações diferentes para cada tipo de ambiente. Você cria tipos de ambiente no nível do centro de desenvolvimento e referenciado no nível do projeto.

Criar tipos de ambiente do centro de desenvolvimento:

  1. Entre no portal do Azure.

  2. Em Centros de desenvolvimento, selecione o centro de desenvolvimento.

  3. No menu esquerdo, em Configuração do ambiente, selecione Tipos de ambiente e, em seguida, selecione Criar.

  4. Use as seguintes etapas para criar três tipos de ambiente: Área restrita, FunctionApp, WebApp. Em Criar tipo de ambiente, insira as informações a seguir e selecione Adicionar.

    Nome Valor
    Nome Insira um nome para o tipo de ambiente.
    Marcas Insira um nome de marca e um valor de marca.
  5. Confirme se o tipo de ambiente foi adicionado verificando as notificações do portal do Azure.

Criar tipos de ambiente de projeto:

  1. No menu à esquerda em Gerenciar, selecione Projetos e selecione o projeto que você deseja usar.

  2. No menu esquerdo, em Configuração do ambiente, selecione Tipos de ambiente e, em seguida, selecione Adicionar.

  3. Use as seguintes etapas para adicionar os três tipos de ambiente: Área restrita, FunctionApp, WebApp. Em Adicionar tipo de ambiente ao <nome do projeto>, insira ou selecione as informações a seguir:

    Nome Valor
    Tipo Selecione um tipo de ambiente no nível do centro de desenvolvimento a ser habilitado para o projeto específico.
    Assinatura da implantação Selecione a assinatura na qual o ambiente será criado.
    Identidade da implantação Selecione uma identidade atribuída pelo sistema ou uma identidade gerenciada atribuída pelo usuário que será usada para executar implantações em nome do usuário.
    Permissões em recursos de ambiente>Funções do criador de ambientes Selecione as funções para conceder acesso aos recursos de ambiente.
    Permissões em recursos de ambiente>Acesso adicional Selecione os usuários ou grupos do Microsoft Entra para atribuir a funções específicas nos recursos de ambiente.
    Marcas Insira um nome de marca e um valor de marca. Essas marcas serão aplicadas em todos os recursos que forem criados como parte do ambiente.
  4. Confirme se o tipo de ambiente foi adicionado verificando as notificações do portal do Azure.

Configurar uma conexão de serviço

No Azure Pipelines, crie uma conexão de serviço em seu projeto do Azure DevOps para acessar recursos na assinatura do Azure. Quando você cria a conexão de serviço, o Azure DevOps cria um objeto de entidade de serviço do Microsoft Entra.

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto. Substitua o espaço reservado de texto <your-organization> pelo identificador do projeto.

  2. Selecione Configurações do projeto>Conexões de serviço>+ Nova conexão de serviço.

  3. No painel Nova conexão de serviço, selecione o Azure Resource Manager e, em seguida, selecione Avançar.

  4. Selecione o método de autenticação Entidade de serviço (automático) e Avançar.

  5. Insira os detalhes da conexão de serviço e selecione Salvar para criar a conexão de serviço.

    Campo Valor
    Scope level Assinatura.
    Assinatura Selecione a assinatura do Azure que hospeda o recurso do centro de desenvolvimento.
    Grupo de recursos Selecione o grupo de recursos que contém o recurso do centro de desenvolvimento.
    Service connection name Insira um nome exclusivo para a conexão de serviço.
    Conceder permissão de acesso a todos os pipelines Marcada.
  6. Na lista de conexões de serviço, selecione a que você criou anteriormente e, em seguida, selecione Gerenciar Entidade de Serviço. O portal do Azure é aberto em uma guia separada do navegador e mostra os detalhes da entidade de serviço.

  7. No portal do Azure, copie o valor Nome de exibição. Use esse valor na próxima etapa para conceder permissões para executar testes de carga na entidade de serviço.

Conceder acesso à conexão de serviço ao projeto do ADE

Os Ambientes de Implantação do Azure usam o controle de acesso baseado em função para conceder permissões para executar atividades específicas em seu recurso do ADE. Para fazer alterações de um pipeline de CI/CD, você concede a função de Usuário de Ambientes de Implantação à entidade de serviço.

  1. No portal do Azure, acesse seu projeto do ADE.
  2. Selecione Controle de acesso (IAM)>Adicionar>Adicionar atribuição de função.
  3. Na guia Função, selecione Usuário de Ambientes de Implantação na lista de funções de função de trabalho.
  4. Na guia Membros, selecione Selecionar membros e, em seguida, use o nome de exibição que você copiou anteriormente para pesquisar a entidade de serviço.
  5. Selecione a entidade de serviço e, em seguida, selecione Selecionar.
  6. Na guia Examinar + atribuir, selecione Examinar + atribuir para adicionar a atribuição de função.

Agora você pode usar a conexão de serviço em sua definição de fluxo de trabalho do Azure Pipelines para acessar seus ambientes do ADE.

Conceder acesso à sua conta ao projeto do ADE

Para exibir ambientes criados por outros usuários, incluindo a conexão de serviço, você precisa conceder à sua conta acesso de leitura ao projeto do ADE.

  1. No portal do Azure, acesse seu projeto do ADE.
  2. Selecione Controle de acesso (IAM)>Adicionar>Adicionar atribuição de função.
  3. Na guia Função, selecione Leitor de Ambientes de Implantação na lista de funções de função de trabalho.
  4. Na guia Membros, selecione Selecionar membros e pesquise sua própria conta.
  5. Selecione sua conta na lista e selecione Selecionar.
  6. Na guia Examinar + atribuir, selecione Examinar + atribuir para adicionar a atribuição de função.

Agora você pode exibir os ambientes criados pelo fluxo de trabalho do Azure Pipelines.

Configurar um pipeline

Edite o arquivo azure-pipelines.yml no repositório do Azure Repos para personalizar o pipeline.

No pipeline, você define as etapas para criar o ambiente. Neste pipeline, você define as etapas para criar o ambiente como um trabalho, que é uma série de etapas que são executadas sequencialmente como uma unidade.

Para personalizar o pipeline:

  • Especifique a Conexão de Serviço a ser usada e o pipeline usa a CLI do Azure para criar o ambiente.
  • Use um script embutido para executar um comando da CLI do Azure que cria o ambiente.

A CLI do Azure é uma ferramenta de linha de comando que fornece um conjunto de comandos para trabalhar com recursos do Azure. Para descobrir mais comandos da CLI do Azure, consulte az devcenter.

  1. No seu projeto do Azure DevOps, selecione Repos>Arquivos.

  2. No painel Arquivos, na pasta .ado, selecione o arquivo azure-pipelines.yml.

  3. No arquivo azure-pipelines.yml, edite o conteúdo existente com o seguinte código:

    • Substitua <AzureServiceConnectionName> pelo nome da conexão de serviço que você criou anteriormente.

    • No Inline script, substitua cada um dos seguintes espaços reservados por valores apropriados para seu ambiente do Azure:

      Espaço reservado Valor
      <dev-center-name> O nome do centro de desenvolvimento.
      <project-name> O nome do seu projeto.
      <catalog-name> O nome do catálogo.
      <environment-definition-name> Não altere. Define a definição de ambiente usada.
      <environment-type> O tipo de ambiente.
      <environment-name> Especifique um nome para seu novo ambiente.
      <parameters> Não altere. Faz referência ao arquivo json que define parâmetros para o ambiente.
  4. Selecione Confirmar para salvar suas alterações.

  5. No painel Confirmar alterações, insira uma mensagem de confirmação e selecione Confirmar.

Criar um ambiente usando um pipeline

Em seguida, você executa o pipeline para criar o ambiente do ADE.

  1. No projeto do Azure DevOps, selecione Pipelines.
  2. Selecione o pipeline que você criou anteriormente e selecione Executar pipeline.
  3. Você pode verificar o progresso da execução do pipeline selecionando o nome do pipeline e selecionando Execuções. Selecione a execução para ver os detalhes da execução do pipeline.
  4. Você também pode verificar o progresso da criação do ambiente no portal do Azure selecionando seu centro de desenvolvimento, selecionando seu projeto e selecionando Ambientes.

Você pode inserir esse trabalho em qualquer lugar em um pipeline de CI (Integração Contínua) e/ou CD (Entrega Contínua). Comece a usar a documentação do Azure Pipelines para saber mais sobre como criar e gerenciar pipelines.

Limpar os recursos

Quando terminar de usar os recursos criados neste tutorial, você poderá excluí-los para evitar incorrer em encargos.

Use o seguinte comando para excluir o ambiente que você criou neste tutorial:

az devcenter dev environment delete --dev-center <DevCenterName> --project-name <DevCenterProjectName> --name <DeploymentEnvironmentInstanceToCreateName> --yes