Adicionar e configurar um catálogo do GitHub ou Azure Repos
Este artigo explica como adicionar e configurar um catálogo para o seu centro de desenvolvimento ou projeto dos Ambientes de Implantação do Azure.
Os catálogos ajudam a fornecer um conjunto de modelos de infraestrutura como código (IaC) com curadoria, conhecidos como definições de ambiente para que suas equipes de desenvolvimento criem ambientes. Você pode anexar seu próprio repositório de controle de origem 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 as equipes de desenvolvimento criarem ambientes.
Para proteger ainda mais seus modelos, o catálogo é criptografado; Os Ambientes de Implantação do 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, consulte Introdução ao GitHub.
- Para saber como hospedar um repositório Git em um projeto Azure Repos, consulte 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 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, vai aprender a:
- Configurar catálogos no nível do projeto
- Configurar uma identidade gerenciada
- Adicionar um catálogo do Azure Repos ou GitHub
- Atualizar um catálogo
- Excluir um catálogo
- Solucionar erros de sincronização de catálogo
Configurar catálogos no nível do projeto
A anexação de catálogos no nível do projeto permite que os engenheiros de plataforma forneçam definições de ambiente selecionadas que são específicas para as equipes de desenvolvimento. Além disso, ele capacita os líderes da equipe de desenvolvimento designados como administradores de projeto para 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álogo, 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 é 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ê deve habilitar catálogos baseados em projeto no nível correspondente do centro de desenvolvimento. Em segundo lugar, você deve habilitar o uso de definições de ambiente para o projeto.
Adicionar um catálogo a um projeto
Você deve habilitar catálogos no nível do projeto no nível do centro de desenvolvimento antes de poder adicionar um catálogo a um projeto. Você também deve 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:
No portal do Azure, navegue até o centro de desenvolvimento.
No menu à esquerda, em Configurações, selecione Configuração.
No painel Catálogos de nível de projeto, selecione Habilitar catálogos por projeto e, em seguida, selecione Aplicar.
Para permitir o uso de definições de ambiente no projeto:
No portal do Azure, navegue até seu projeto.
No menu à esquerda, em Configurações, selecione Catálogos.
Na página Catálogos, selecione Permissões de item de catálogo.
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.
Agora, você pode adicionar um catálogo ao projeto.
Para catálogos que usam uma identidade gerenciada ou um Token de Acesso Pessoal (PAT) para autenticação, você deve atribuir uma identidade gerenciada para o projeto. Para catálogos que usam um PAT, você deve armazenar a PAT em um cofre de chaves e conceder à identidade gerenciada acesso ao segredo do cofre de chaves.
Configurar uma identidade gerida
Antes de anexar um catálogo a um centro de desenvolvimento ou projeto, você deve configurar uma identidade gerenciada, também chamada de Identidade de Serviço Gerenciado (MSI). Você pode anexar uma identidade gerenciada atribuída ao 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 Azure Repos que contém o repositório de catálogo.
Se o seu centro de desenvolvimento ou projeto não tiver um MSI anexado, 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, consulte 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 atribuindo permissões a um 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.
- Azure Repos repo com MSI
- Azure Repos repo com PAT
- Aplicativo DevCenter de repositório GitHub
- Repositório GitHub com PAT
Para adicionar um catálogo, conclua as seguintes tarefas:
- Atribua permissões no Azure Repos para a identidade gerenciada.
- Adicione seu 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 para o repositório no Azure Repos.
Entre na sua organização do Azure DevOps.
Nota
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.
Selecione Definições da organização.
Na página Visão geral, selecione Usuários.
Na página Usuários, selecione Adicionar usuários.
Conclua Adicionar novos usuários inserindo ou selecionando as seguintes informações e selecione Adicionar:
Nome Valor Usuários ou Entidades de Serviço Insira o nome do seu centro de desenvolvimento ou projeto.
Ao usar um MSI atribuído pelo sistema, especifique o nome do centro de desenvolvimento ou projeto, não o ID do objeto da conta gerenciada. Quando você usa um MSI atribuído pelo usuário, use o nome da conta gerenciada.Nível de acesso Selecione Básico. Adicionar aos projetos Selecione o projeto que contém seu repositório. Grupos de DevOps do Azure Selecione Leitores de projeto. Enviar convites por e-mail (apenas para Utilizadores) Desmarque a caixa de seleção.
Adicione seu repositório como um catálogo
Os Ambientes de Implantação do Azure dão suporte à anexação de repositórios do Azure Repos e repositórios do GitHub. Você pode armazenar um conjunto de modelos IaC selecionados em um repositório. Anexar o repositório a um centro de desenvolvimento ou projeto como um catálogo dá às suas equipes de desenvolvimento acesso aos modelos e permite que elas criem rapidamente ambientes consistentes.
As etapas a seguir permitem anexar um repositório do Azure Repos.
No portal do Azure, navegue até seu centro de desenvolvimento ou projeto.
No menu à esquerda, em Configuração do ambiente, selecione Catálogos e, em seguida, selecione Adicionar.
Em Adicionar catálogo, insira as seguintes informações e selecione Adicionar:
Campo Valor Nome Insira um nome para o catálogo. Localização do catálogo Selecione 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. Repositório Na lista de repositórios, selecione o repositório que deseja adicionar. Ramo Selecione a ramificação. Folder path Dev Box recupera uma lista de pastas em sua ramificação. Selecione a pasta que armazena seus modelos IaC. Em Catálogos do centro de desenvolvimento ou projeto, verifique se o catálogo aparece. Quando a conexão é bem-sucedida, o Status lê Sincronização bem-sucedida. A conexão com 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 que são sincronizados a partir do catálogo.
No menu à esquerda do seu centro de desenvolvimento ou projeto, em Configuração do ambiente, selecione Catálogos.
No painel Catálogos, selecione o nome do catálogo.
Você verá uma lista de itens de catálogo sincronizados com êxito.
Atualizar um catálogo
Se você atualizar a definição ou o conteúdo do 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 manualmente 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.
No menu esquerdo do centro de desenvolvimento, em Configuração do ambiente, selecione Catálogos.
Selecione o catálogo específico e, na barra de comandos, selecione Sincronizar.
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.
No menu à esquerda do seu centro de desenvolvimento ou projeto, em Configuração do ambiente, selecione Catálogos.
Selecione o catálogo específico e, em seguida, selecione editar.
No painel Editar catálogo, selecione Sincronizar automaticamente este catálogo e, em seguida, selecione Guardar.
Excluir um catálogo
Você pode excluir um catálogo para removê-lo do centro de desenvolvimento ou projeto dos Ambientes de Implantação do Azure. Os modelos em um catálogo excluído não estão disponíveis para as equipes de desenvolvimento quando elas implantam novos ambientes. Atualize a referência de definição de ambiente para quaisquer 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:
No menu à esquerda do seu centro de desenvolvimento ou projeto, em Configuração do ambiente, selecione Catálogos.
Selecione o catálogo específico e, em seguida, selecione Excluir.
Na caixa de diálogo Excluir catálogo, selecione Continuar para excluir o catálogo.
Solucionar erros de sincronização de catálogo
Ao adicionar ou sincronizar um catálogo, você pode encontrar um erro ou aviso de sincronização. 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 de 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 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 do catálogo
No menu à esquerda do seu centro de desenvolvimento ou projeto, em Configuração do ambiente, selecione Catálogos.
Na coluna Status, selecione o link de status para o catálogo que falhou na sincronização.
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.
Ver avisos de sincronização de catálogo
No menu à esquerda do seu centro de desenvolvimento ou projeto, em Configuração do ambiente, selecione Catálogos.
Na coluna Status, selecione o link de status para o catálogo que sincronizou, mas relata um aviso.
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.
Você pode exibir itens que foram sincronizados com êxito a partir de um catálogo que também relata erros de sincronização. No painel Catálogos, selecione o nome do catálogo.
Você verá uma lista de itens de catálogo sincronizados com êxito.
Solucionar erros de sincronização de catálogo usando a CLI do Azure
Use a CLI do Azure ou a API REST para OBTER o catálogo. A resposta GET mostra o tipo de erro:
- Definições de ambiente ignoradas que foram detetadas como duplicadas.
- 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 ocorre se você adicionar duas ou mais definições de ambiente que têm 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 de esquema de manifesto. Certifique-se de que o arquivo de ambiente de definição de 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.
- Verifique se o nome da definição do ambiente está entre 3 e 63 caracteres.
- Certifique-se de que o nome da definição de ambiente inclua apenas caracteres válidos para uma URL, que são caracteres alfanuméricos e estes símbolos:
~
!
,
.
'
;
:
=
-
_
+
(
)
*
&
$
@
Erros de referência. Certifique-se de que o caminho do modelo ao qual o arquivo de ambiente faz referência seja um caminho relativo válido para um arquivo no repositório.