Envie as configurações por push para a Configuração de Aplicativos com o Azure Pipelines
A tarefa push de Configuração de Aplicativos do Azure envia valores de chave de um arquivo de configuração para o repositório de Configuração do Aplicativo. Essa tarefa habilita a funcionalidade de círculo completo no pipeline, já que você pode efetuar pull das configurações do repositório de Configuração de Aplicativos, bem como as configurações de push para o repositório de Configuração de Aplicativos.
Pré-requisitos
- Assinatura do Azure - criar uma gratuitamente
- Repositório da Configuração de Aplicativos - crie um gratuitamente
- Projeto do Azure DevOps: crie um gratuitamente
- Tarefa de Push de Configuração de Aplicativos do Azure – baixe gratuitamente do Visual Studio Marketplace.
- O agente do Azure Pipelines versão 2.206.1 ou posterior e o Node versão 16 ou posterior para executar a tarefa em agentes auto-hospedados.
Criar uma conexão de serviço
Uma conexão de serviço lhe dá acesso aos recursos na sua assinatura do Azure por meio do projeto do Azure DevOps.
No Azure DevOps, acesse o projeto que contém o pipeline de destino. No canto inferior esquerdo, selecione Configurações do projeto.
Em Pipelines, selecione Conexões de serviço. No canto superior direito, selecione Nova conexão de serviço.
Em Nova conexão de serviço. selecione Azure Resource Manager.
Na caixa de diálogo Método de autenticação, selecione Federação de identidades de carga de trabalho (automática) para criar uma federação de identidades de carga de trabalho ou Federação de identidades de carga de trabalho (manual) para usar uma federação de identidades de carga de trabalho existente.
Insira sua assinatura, grupo de recursos e um nome para a conexão de serviço.
Se você criou uma entidade de serviço, localize o nome da entidade de serviço atribuída à conexão de serviço. Você adicionará uma atribuição de função a essa entidade de serviço na próxima etapa.
Acesse Configurações do Projeto>Conexões de serviço.
Selecione a nova conexão de serviço.
Selecione Gerenciar Entidade de Serviço.
Observe o valor em Nome de exibição.
Adicionar atribuição de função
Designe as atribuições de função de configuração de aplicativo adequadas às credenciais que estão sendo usadas dentro da tarefa para que a tarefa possa acessar o repositório de Configuração de Aplicativos.
Acesse o repositório de destino da Configuração de Aplicativos.
No menu à esquerda, selecione Controle de acesso (IAM) .
No painel direito, selecione Adicionar atribuições de função.
Em Função, selecione Proprietário de Dados da Configuração de Aplicativos. Essa função permite que a tarefa leia e grave no repositório de Configuração de Aplicativos.
Selecione a entidade de serviço associada à conexão de serviço criada na seção anterior.
Selecione Examinar + atribuir.
Uso em builds
Esta seção abordará como usar a tarefa Push de Configuração de Aplicativos do Azure em um pipeline de build do Azure DevOps.
- Acesse a página do pipeline de build clicando em Pipelines>Pipelines. A documentação para pipelines de build pode ser encontrada aqui.
- Se você estiver criando um pipeline de build, na última etapa do processo, na guia Examinar, selecione Mostrar assistente no lado direito do pipeline.
- Se você estiver usando um pipeline de build existente, clique no botão Editar no canto superior direito.
- Se você estiver criando um pipeline de build, na última etapa do processo, na guia Examinar, selecione Mostrar assistente no lado direito do pipeline.
- Pesquise a tarefa de Push de Configuração de Aplicativos do Azure.
- Configure os parâmetros necessários para que a tarefa efetue push dos valores de chave do arquivo de configuração para o repositório de Configuração de Aplicativos. As explicações dos parâmetros estão disponíveis na seção Parâmetros abaixo e nas dicas de ferramenta ao lado de cada parâmetro.
- Salve e coloque um build na fila. O log de build exibirá todas as falhas ocorridas durante a execução da tarefa.
Uso em versões
Esta seção abordará como usar a tarefa de Push de Configuração de Aplicativos do Azure em um pipeline de lançamento do Azure DevOps.
- Acesse a página do pipeline de lançamento selecionando Pipelines>Versões. A documentação para pipelines de lançamento pode ser encontrada aqui.
- Escolha um pipeline de lançamento existente. Se você não tiver um, selecione + Novo para criar um.
- Selecione o botão Editar no canto superior direito para editar o pipeline de lançamento.
- Na lista suspensa Tarefas, escolha a Fase à qual deseja adicionar a tarefa. Encontre mais informações sobre as fases aqui.
- Clique em + próximo ao trabalho ao qual deseja adicionar uma tarefa.
- Na caixa de diálogo Adicionar tarefas, digite Push de Configuração de Aplicativos do Azure para a caixa de pesquisa e selecione-a.
- Configure os parâmetros necessários na tarefa para enviar por push seus valores de chave do arquivo de configuração para o repositório de Configuração de Aplicativos. As explicações dos parâmetros estão disponíveis na seção Parâmetros abaixo e nas dicas de ferramenta ao lado de cada parâmetro.
- Salve e coloque uma versão na fila. O log de versão exibirá todas as falhas encontradas durante a execução da tarefa.
Parâmetros
Os seguintes parâmetros são usados pela tarefa de Push de Configuração de Aplicativos:
- Assinatura do Azure: uma lista suspensa que contém as conexões de serviço do Azure disponíveis. Para atualizar a lista de conexões de serviço do Azure disponíveis, pressione o botão Atualizar assinatura do Azure à direita da caixa de texto.
- Ponto de extremidade da Configuração de Aplicativos: um menu suspenso que carrega o ponto de extremidade de armazenamento de configuração disponível na assinatura selecionada. Para atualizar a lista de pontos de extremidade de armazenamento de configuração disponíveis, pressione o botão Atualizar o ponto de extremidade da Configuração de Aplicativos à direita da caixa de texto.
- Caminho do Arquivo de Configuração: o caminho para o arquivo de configuração. O parâmetro de Caminho do Arquivo de Configuração começa na raiz do repositório de arquivos. Você pode navegar pelo seu artefato de compilação para selecionar um arquivo de configuração. (Botão
...
à direita da caixa de texto). Os formatos de arquivo compatíveis dependem do perfil de conteúdo do arquivo. Para o perfil padrão, os formatos de arquivo compatíveis são YAML, JSON e properties. Para o perfil KvSet, o formato de arquivo compatível é JSON. - Perfil de conteúdo do arquivo: o perfil de conteúdo do arquivo de configuração. O valor padrão é Padrão.
- Padrão: refere-se aos formatos de arquivo de configuração convencionais diretamente consumíveis por aplicativos.
- Kvset: refere-se a um esquema de arquivo que contém todas as propriedades de um valor-chave da Configuração de Aplicativos, incluindo chave, valor, rótulo, tipo de conteúdo e marcas. Os parâmetros de tarefa 'Separator', 'Label', 'Content type', 'Prefix', 'Tags' e 'Depth' não são aplicáveis ao usar o perfil Kvset.
- Modo de importação: o valor padrão é Todos. Determina o comportamento ao importar valores-chave.
- Todos: importa todos os valores-chave no arquivo de configuração para a Configuração de Aplicativos.
- Ignore-Match: importa somente as configurações que não têm um valor-chave correspondente na Configuração de Aplicativos. Valores-chave correspondentes são considerados valores-chave com a mesma chave, rótulo, valor, tipo de conteúdo e marcas.
- Simulação: valor padrão é Desmarcado.
- Verificado: nenhuma atualização será realizada na Configuração de Aplicativos. Em vez disso, todas as atualizações que seriam executadas em uma execução normal serão impressas no console para revisão.
- Desmarcado: executa todas as atualizações da Configuração de Aplicativos e não realiza a impressão no console.
- Separador: o separador usado para mesclar arquivos .json e .yml.
- Profundidade: a profundidade para a qual os arquivos .json e .yml serão mesclados.
- Prefixo: uma cadeia de caracteres que é acrescentada ao início de cada chave enviada por push para o repositório de Configuração de Aplicativos.
- Rótulo: uma cadeia de caracteres que é adicionada a cada chave-valor como o rótulo no repositório de Configuração de Aplicativos.
- Tipo de conteúdo: uma cadeia de caracteres que é adicionada a cada chave-valor como o tipo de conteúdo no repositório de Configuração de Aplicativos.
- Marcas: um objeto JSON no formato de
{"tag1":"val1", "tag2":"val2"}
, que define as marcas adicionadas a cada valor de chave enviado por push para o repositório de Configuração de Aplicativos. - Excluir os valores-chave que não estão incluídos no arquivo de configuração: o valor padrão é Desmarcado. O comportamento desta opção depende do perfil de conteúdo do arquivo de configuração.
- Verificado:
- Perfil de conteúdo padrão: remove todos os valores-chave no repositório da Configuração de Aplicativos que correspondem ao prefixo e ao rótulo especificados antes de enviar novos valores-chave do arquivo de configuração.
- Perfil de conteúdo Kvset: remove todos os valores-chave no repositório da Configuração de Aplicativos que não estão incluídos no arquivo de configuração antes de enviar novos valores-chave do arquivo de configuração.
- Desmarcado: envia por push todos os valores de chave do arquivo de configuração para o repositório de Configuração de Aplicativos e deixa todo resto no repositório de Configuração de Aplicativos intacto.
- Verificado:
Solução de problemas
Em caso de um erro inesperado, os logs de depuração podem ser habilitados pela configuração da variável de pipeline system.debug
como true
.
Perguntas frequentes
Como posso carregar vários arquivos de configuração?
Crie várias instâncias doa tarefa de Push de Configuração de Aplicativos do Azure no mesmo pipeline para enviar vários arquivos de configuração para o repositório de configurações de aplicativo.
Como criar referências do Key Vault ou sinalizadores de recursos usando esta tarefa?
Dependendo do perfil de conteúdo do arquivo selecionado, veja os exemplos no Suporte da Configuração de Aplicativos do Azure para arquivo de configuração.
Por que estou recebendo um erro 409 ao tentar enviar por push valores de chave para meu repositório de configurações?
Uma mensagem de erro de Conflito 409 ocorrerá se a tarefa tentar remover ou substituir um valor de chave que esteja bloqueado no repositório de Configuração de Aplicativos.