Compartilhar via


Adicionar e configurar um catálogo do GitHub ou do Azure Repos

Este artigo explica como adicionar e configurar um catálogo para o centro de desenvolvimento ou projeto dos Ambientes de Implantação do Azure.

Os catálogos ajudam você a fornecer um conjunto de modelos de IaC (infraestrutura como código), conhecidos como definições de ambiente para suas equipes de desenvolvimento criarem ambientes. Você pode anexar seu próprio repositório de controle do código-fonte do GitHub ou do Azure DevOps como um catálogo e especificar a pasta com suas definições de ambiente. Os Ambientes de Implantação verificam a pasta em busca de definições de ambiente e as disponibilizam para que as equipes de desenvolvimento criem ambientes.

Para proteger ainda mais os seus modelos, o catálogo é criptografado; os Ambientes de Implantação Azure dão suporte à criptografia em repouso com chaves de criptografia gerenciadas pela plataforma, gerenciadas pela Microsoft para Serviços do Azure.

  • Para saber como hospedar um repositório no GitHub, confira Introdução ao GitHub.
  • Para saber como hospedar um repositório do Git em um projeto do Azure Repos, confira Azure Repos.

A Microsoft oferece um catálogo de início rápido que você pode adicionar ao centro de desenvolvimento ou projeto e um catálogo de exemplo que você pode usar como seu repositório. Você também pode usar seu próprio repositório privado ou pode bifurcar e personalizar as definições de ambiente no catálogo de exemplo.

Neste artigo, você aprenderá como:

  1. Configurar catálogos no nível do projeto
  2. Configurar uma identidade gerenciada
  3. Adicionar um catálogo do Azure Repos ou do GitHub
  4. Atualizar um catálogo
  5. Excluir um catálogo
  6. Solucionar problemas de erros de sincronização de catálogo

Configurar catálogos no nível do projeto

Anexar catálogos no nível do projeto permite que os engenheiros de plataforma forneçam definições de ambiente selecionadas específicas para as equipes de desenvolvimento. Além disso, ele capacita os clientes potenciais da equipe de desenvolvimento atribuídos como Administradores de Projeto a gerenciar as definições de ambiente disponibilizadas para suas equipes.

Os engenheiros de plataforma têm controle total sobre o uso de catálogos no nível do projeto. O uso de catálogos de nível de projeto deve ser habilitado no nível do centro de desenvolvimento antes que um catálogo possa ser adicionado a um projeto. Os engenheiros de plataforma também podem configurar quais tipos de itens de catálogos, como definições de ambiente, podem ser consumidos no nível do projeto.

Por padrão, o uso de catálogos no nível do projeto está desabilitado e nenhum dos tipos de item de catálogo está habilitado. As definições de ambiente de um catálogo no nível do projeto são sincronizadas e utilizáveis, sob duas condições. Primeiro, você precisa habilitar catálogos baseados em projeto no nível correspondente do centro de desenvolvimento. Em segundo lugar, você precisa habilitar o uso de definições de ambiente para o projeto.

Adicionar um catálogo a um projeto

Você precisa habilitar catálogos no nível do projeto no nível do centro de desenvolvimento antes de adicionar um catálogo a um projeto. Você também precisa habilitar o uso de definições de ambiente no nível do projeto.

Para habilitar o uso de catálogos no nível do projeto no nível do centro de desenvolvimento:

  1. No portal do Azure, navegue até o centro de desenvolvimento.

  2. No menu à esquerda, em Configurações, selecione Configuração.

    Captura de tela mostrando a página Visão geral de um centro de desenvolvimento com a opção Configuração realçada.

  3. No painel Catálogos de nível de projeto, selecione Habilitar catálogos por projeto e selecione Aplicar.

    Captura de tela mostrando o painel Catálogos no nível do projeto, com a opção Habilitar catálogos por projeto realçada.

Para habilitar o uso de definições de ambiente no projeto:

  1. No portal do Azure, navegue até o projeto.

  2. No menu à esquerda, em Configurações, selecione Tamanho.

    Captura de tela mostrando a página Visão geral de um projeto com a opção Catálogos realçada.

  3. Na página Catálogos, selecione Permissões de item de catálogo.

    Captura de tela mostrando o painel Catálogos com a opção Permissões de item de catálogo realçada.

  4. No painel Configurações de item de catálogo, selecione Definições de ambiente de implantação do Azure para habilitar o uso de definições de ambiente no nível do projeto.

    Captura de tela mostrando o painel Configurações de item de catálogo com a opção Definições de ambiente de implantação do Azure selecionada.

Agora, você pode adicionar um catálogo ao projeto.

Para catálogos que usam uma identidade gerenciada ou PAT (Token de Acesso Pessoal) para autenticação, você precisa atribuir uma identidade gerenciada para o projeto. Para catálogos que usam um PAT, você precisa armazenar o PAT em um cofre de chaves e conceder à identidade gerenciada acesso ao segredo do cofre de chaves.

Configurar uma identidade gerenciada

Antes de anexar um catálogo a um centro de desenvolvimento ou projeto, você deve configurar uma identidade gerenciada, também chamada de MSI (Identidade de Serviço Gerenciada). Você pode anexar uma identidade gerenciada atribuída pelo sistema (MSI atribuída pelo sistema) ou uma identidade gerenciada atribuída pelo usuário (MSI atribuída pelo usuário). Em seguida, você atribui funções à identidade gerenciada para permitir que o centro de desenvolvimento ou projeto crie tipos de ambiente em sua assinatura e leia o projeto do Azure Repos que contém o repositório de catálogo.

Se o centro de desenvolvimento ou projeto não tiver uma MSI anexada, siga as etapas em Configurar uma identidade gerenciada para criar uma e atribuir funções para a identidade gerenciada.

Para saber mais sobre identidades gerenciadas, confira O que são identidades gerenciadas para recursos do Azure?

Adicionar um catálogo

Você pode adicionar um catálogo de um repositório do Azure Repos ou de um repositório do GitHub. Você pode optar por autenticar-se atribuindo permissões a uma MSI ou usando um PAT, que você armazena em um cofre de chaves.

Selecione a guia para o tipo de repositório e autenticação que você deseja usar.

Para adicionar um catálogo, conclua as seguintes tarefas:

  • Atribua permissões no Azure Repos para a identidade gerenciada.
  • Adicione o repositório como um catálogo.

Atribuir permissões no Azure Repos para a identidade gerenciada

Você deve conceder as permissões de identidade gerenciada ao repositório no Azure Repos.

  1. Entre na sua organização do Azure DevOps.

    Observação

    Sua organização do Azure DevOps deve estar no mesmo diretório que a assinatura do Azure que contém seu centro de desenvolvimento ou projeto.

  2. Selecione Configurações da organização.

    Captura de tela mostrando a página da organização do Azure DevOps, com as Configurações da Organização realçadas.

  3. Na página Visão Geral, selecione Usuários.

    Captura de tela mostrando a página de visão geral da Organização, com os Usuários realçados.

  4. Na página Usuários, selecione Adicionar usuários.

    Captura de tela mostrando a página Usuários, com Adicionar usuário realçado.

  5. Conclua Adicionar novos usuários inserindo ou selecionando as seguintes informações e, em seguida, selecione Adicionar:

    Nome Valor
    Usuários ou entidades de serviço Insira o nome do centro de desenvolvimento ou projeto.
    Quando você usa uma MSI atribuída pelo sistema, especifique o nome do centro de desenvolvimento ou projeto, não a ID do objeto da conta gerenciada. Ao usar uma MSI atribuída pelo usuário, use o nome da conta gerenciada.
    Nível de acesso Selecione Basic.
    Adicionar aos projetos Selecione o projeto que contém o repositório.
    Grupos de DevOps do Azure Selecione Leitores de projeto.
    Enviar convites por email (somente para usuários) Desmarque a caixa de seleção.

    Captura de tela mostrando Adicionar usuários, com entradas de exemplo e Adicionar realçado.

Adicionar o repositório como um catálogo

Os Ambientes de Implantação Azure dão suporte à anexação de repositórios do Azure Repos e de repositórios do GitHub. Você pode armazenar um conjunto de modelos de IaC coletados em um repositório. Anexar o repositório a um centro de desenvolvimento ou projeto como um catálogo fornece às equipes de desenvolvimento acesso aos modelos e permite que eles criem ambientes consistentes rapidamente.

As etapas a seguir permitem anexar um repositório do Azure Repos.

  1. No portal do Azure, navegue até o centro de desenvolvimento ou projeto.

  2. No menu esquerdo, em Configuração do ambiente, selecione Catálogos e, em seguida, selecione Adicionar.

    Captura de tela que mostra o painel Catálogos.

  3. No painel Adicionar catálogo, insira as informações a seguir e clique em Adicionar:

    Campo Valor
    Nome Insira um nome para o catálogo.
    Localização do catálogo Escolha Azure DevOps.
    Tipo de autenticação Selecione Identidade Gerenciada.
    Organização Selecione sua organização do Azure DevOps.
    Projeto Na lista de projetos, selecione o projeto que armazena o repositório.
    Repo Na lista de repositórios, selecione o repositório que você deseja adicionar.
    Branch Selecione o branch.
    Caminho da pasta O Computador de desenvolvimento recupera uma lista de pastas em seu branch. Selecione a pasta que armazena seus modelos de IaC.

    Captura de tela mostrando o painel Adicionar catálogo com entradas de exemplos e Adicionar realçado.

  4. Em Catálogos para o centro de desenvolvimento ou projeto, verifique se o catálogo é exibido. Quando a conexão é bem-sucedida, o Status exibe Sincronização bem-sucedida. Conectar a um catálogo pode levar alguns minutos na primeira vez.

Exibir itens de catálogo sincronizados

Independentemente do tipo de repositório usado, você pode exibir os itens de catálogo sincronizados do catálogo.

  1. No menu à esquerda para o centro de desenvolvimento ou projeto, em Configuração de ambiente, selecione Catálogos.

  2. No painel Catálogos, selecione o nome do catálogo.

    Captura de tela mostrando o painel Catálogo, com o nome do catálogo anexado realçado.

  3. Você verá uma lista de itens de catálogo sincronizados com êxito.

    Captura de tela mostrando itens de catálogo sincronizados com êxito do catálogo anexado.

Atualizar um catálogo

Se você atualizar o conteúdo de definição ou modelo no repositório anexado, poderá fornecer o conjunto mais recente de definições de ambiente para suas equipes de desenvolvimento sincronizando o catálogo. Você pode sincronizar um catálogo manual ou automaticamente.

Sincronizar manualmente um catálogo

Quando você sincroniza manualmente um catálogo, os Ambientes de Implantação verificam o repositório e disponibilizam a lista mais recente de definições de ambiente para todos os projetos associados no centro de desenvolvimento.

  1. No menu esquerdo do centro de desenvolvimento, em Configuração do ambiente, selecione Catálogos.

  2. Selecione o catálogo específico e, na barra de comandos, selecione Sincronizar.

    Captura de tela mostrando o botão Sincronizar na barra de comandos.

Sincronizar automaticamente um catálogo

Quando você configura um catálogo para sincronizar automaticamente, os Ambientes de Implantação verificam o repositório a cada 30 minutos e disponibilizam a lista mais recente de definições de ambiente para todos os projetos associados no centro de desenvolvimento.

  1. No menu à esquerda para o centro de desenvolvimento ou projeto, em Configuração de ambiente, selecione Catálogos.

  2. Selecione o catálogo específico e, em seguida, selecione editar.

    Captura de tela mostrando o botão editar para um catálogo.

  3. No painel Editar catálogo, selecione Sincronizar automaticamente este catálogo e, em seguida, selecione Salvar.

    Captura de tela mostrando o painel editar detalhes de um catálogo, com a sincronização automática desse catálogo realçada.

Excluir um catálogo

Você pode excluir um catálogo para removê-lo do centro de desenvolvimento ou do projeto dos Ambientes de Implantação do Azure. Os modelos em um catálogo excluído não estarão disponíveis para as equipes de desenvolvimento quando novos ambientes forem implantados. Atualize a referência de definição de ambiente para todos os ambientes existentes que foram criados usando as definições de ambiente no catálogo excluído. Se a referência não for atualizada e o ambiente for reimplantado, a implantação falhará.

Para excluir um catálogo:

  1. No menu à esquerda para o centro de desenvolvimento ou projeto, em Configuração de ambiente, selecione Catálogos.

  2. Selecione o catálogo específico e clique em Excluir.

  3. Na caixa de diálogo Excluir catálogo, selecione Continuar para excluir o catálogo.

Solucionar problemas de erros de sincronização de catálogo

Ao adicionar ou sincronizar um catálogo, você pode encontrar um erro de sincronização ou um aviso. Um erro de sincronização indica que um catálogo falhou ao sincronizar com êxito, um aviso de sincronização indica que alguns ou todos os itens do catálogo têm erros. Você pode exibir o status da sincronização e os erros no portal do Azure ou usar a CLI do Azure e a API REST para solucionar problemas e resolver os erros.

Exibir o status de sincronização do catálogo

No portal do Azure, você pode obter mais informações sobre o status de sincronização do catálogo e quaisquer avisos ou erros selecionando o link de status. O link de status abre um painel que mostra o status da sincronização, o número de definições de ambiente que foram adicionadas e o número de definições de ambiente que foram ignoradas ou falharam.

Exibir falhas de sincronização de catálogo

  1. No menu à esquerda para o centro de desenvolvimento ou projeto, em Configuração de ambiente, selecione Catálogos.

  2. Na coluna Status, selecione o link de status do catálogo que não foi sincronizado.

    Captura de tela mostrando o painel Catálogos, com a sincronização com falha realçada.

  3. Você verá um painel de detalhes que mostra as alterações na última sincronização, o número de erros de sincronização e o tipo de erros.

    Captura de tela mostrando o painel Falhas de sincronização do catálogo.

Exibir avisos de sincronização de catálogo

  1. No menu à esquerda para o centro de desenvolvimento ou projeto, em Configuração de ambiente, selecione Catálogos.

  2. Na coluna Status, selecione o link de status do catálogo sincronizado, mas relata um aviso.

    Captura de tela mostrando o painel Catálogos, com erros em 3 itens realçados.

  3. Você verá um painel de detalhes que mostra as alterações na última sincronização, o número de erros de item e o tipo e a origem de cada erro.

    Captura de tela mostrando o painel erros de sincronização de catálogo.

  4. Você pode exibir itens sincronizados com êxito de um catálogo que também relata erros de sincronização. No painel Catálogos, selecione o nome do catálogo.

    Captura de tela mostrando o painel Catálogo, com um nome de catálogo realçado.

  5. Você verá uma lista de itens de catálogo sincronizados com êxito.

    Captura de tela mostrando itens de catálogo sincronizados com êxito.

Solucionar problemas de erros de sincronização de catálogo usando a CLI do Azure

Use a CLI do Azure ou a API REST para obter (GET) o catálogo. A resposta GET mostra o tipo de erro:

  • Definições de ambiente ignoradas que foram detectadas como duplicatas.
  • Definições de ambiente inválidas que falharam devido a erros de esquema, referência ou validação.

Resolver erros de definição de ambiente ignorados

Um erro de definição de ambiente ignorado ocorrerá se você adicionar duas ou mais definições de ambiente com o mesmo nome. Você pode resolver esse problema renomeando as definições de ambiente para que cada definição de ambiente tenha um nome exclusivo dentro do catálogo.

Resolver erros de definição de ambiente inválidos

Um erro de definição de ambiente inválido pode ocorrer por vários motivos:

  • Erros no esquema de manifesto. Certifique-se de que o arquivo de ambiente de definição do ambiente corresponda ao esquema necessário.

  • Erros de validação. Verifique os seguintes itens para resolver erros de validação:

    • Verifique se o tipo de mecanismo do arquivo de ambiente está configurado corretamente.
    • Certifique-se de que o nome de definição do ambiente esteja entre 3 e 63 caracteres.
    • Certifique-se de que o nome da definição do ambiente inclua apenas caracteres válidos para uma URL, que são caracteres alfanuméricos e os símbolos a seguir: ~ ! , . ' ; : = - _ + ( ) * & $ @
  • Erros de referência. Certifique-se de que o caminho do modelo a que o arquivo de ambiente faz referência seja um caminho relativo válido para um arquivo no repositório.