Extrair configurações da Configuração do Aplicativo com o Azure Pipelines

A tarefa Configuração do Aplicativo do Azure extrai valores-chave do seu repositório de Configuração de Aplicativo e os define como variáveis de pipeline do Azure, que podem ser consumidas por tarefas subsequentes. Esta tarefa complementa a tarefa de Push de Configuração de Aplicativo do Azure que envia valores de chave de um arquivo de configuração para sua loja de Configuração de Aplicativos. Para obter mais informações, consulte Configurações de push para Configuração de Aplicativo com Pipelines do Azure.

Pré-requisitos

Criar uma conexão de serviço

Uma conexão de serviço lhe dá acesso a recursos em sua assinatura do Azure a partir de seu projeto de DevOps do Azure.

  1. No Azure DevOps, vá para o projeto que contém seu pipeline de destino. No canto inferior esquerdo, selecione Configurações do projeto.

  2. Em Pipelines, selecione Ligações do serviço. No canto superior direito, selecione Nova conexão de serviço.

  3. Em Nova conexão de serviço, selecione Gerenciador de Recursos do Azure.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. Na caixa de diálogo Método de autenticação , selecione Entidade de serviço (automática) para criar uma nova entidade de serviço ou selecione Entidade de serviço (manual) para usar uma entidade de serviço existente.

  5. Introduza a sua subscrição, grupo de recursos e um nome para a ligação de serviço.

Se você criou uma nova entidade de serviço, localize o nome da entidade de serviço atribuída à conexão de serviço. Você adicionará uma nova atribuição de função a essa entidade de serviço na próxima etapa.

  1. Vá para Conexões do Serviço de Configurações>do Projeto.

  2. Selecione a nova conexão de serviço.

  3. Selecione Gerenciar entidade de serviço.

  4. Observe o valor em Nome para exibição.

    Screenshot shows the service principal display name.

Adicionar atribuição de função

Atribua as atribuições de função de Configuração de Aplicativo adequadas às credenciais que estão sendo usadas na tarefa para que a tarefa possa acessar o repositório de Configuração de Aplicativos.

  1. Aceda à sua loja de Configuração de Aplicações de destino.

  2. No menu à esquerda, selecione Controle de acesso (IAM).

  3. No painel direito, selecione Adicionar atribuições de função.

    Screenshot shows the Add role assignments button.

  4. Em Função, selecione Leitor de Dados de Configuração do Aplicativo. Essa função permite que a tarefa seja lida na App Configuration Store.

  5. Selecione a entidade de serviço associada à conexão de serviço que você criou na seção anterior.

    Screenshot shows the Add role assignment dialog.

  6. Selecione Rever + atribuir.

  7. Se o repositório contiver referências do Cofre da Chave, vá para o Cofre da Chave relevante e atribua a função Usuário Secreto do Cofre da Chave à entidade de serviço criada na etapa anterior. No menu Cofre da Chave, selecione Políticas de acesso e verifique se o controle de acesso baseado em função do Azure está selecionado como o modelo de permissão.

Uso em compilações

Esta seção abordará como usar a tarefa Configuração do Aplicativo do Azure em um pipeline de compilação do Azure DevOps.

  1. Navegue até a página do pipeline de construção clicando em Pipelines>Pipelines. Para obter a documentação do pipeline de compilação, consulte Criar seu primeiro pipeline.
    • Se você estiver criando um novo pipeline de compilação, na última etapa do processo, na guia Revisão , selecione Mostrar assistente no lado direito do pipeline. Screenshot shows the Show assistant button for a new pipeline.
    • Se você estiver usando um pipeline de compilação existente, clique no botão Editar no canto superior direito. Screenshot shows the Edit button for an existing pipeline.
  2. Procure a Tarefa de Configuração do Aplicativo do Azure. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  3. Configure os parâmetros necessários para que a tarefa extraia os valores-chave da App Configuration Store. As descrições dos parâmetros estão disponíveis na seção Parâmetros abaixo e em dicas de ferramentas ao lado de cada parâmetro.
    • Defina o parâmetro de assinatura do Azure como o nome da conexão de serviço que você criou em uma etapa anterior.
    • Defina o Ponto de Extremidade de Configuração do Aplicativo como o ponto de extremidade da sua loja de Configuração de Aplicativo.
    • Deixe os valores padrão para os parâmetros restantes. Screenshot shows the app configuration task parameters.
  4. Salve e enfileire uma compilação. O log de compilação exibirá quaisquer falhas que ocorreram durante a execução da tarefa.

Utilização em versões

Esta seção abordará como usar a tarefa Configuração do Aplicativo do Azure em um pipeline de lançamento do Azure DevOps.

  1. Navegue até a página do pipeline de liberação selecionando Pipelines>Releases. Para obter a documentação do pipeline de liberação, consulte Release pipelines.
  2. Escolha um pipeline de liberação existente. Se você não tiver um, clique em Novo pipeline para criar um novo.
  3. Selecione o botão Editar no canto superior direito para editar o pipeline de versão.
  4. Na lista suspensa Tarefas, escolha o Palco ao qual você deseja adicionar a tarefa. Mais informações sobre as etapas podem ser encontradas aqui. Screenshot shows the selected stage in the Tasks dropdown.
  5. Clique ao + lado do Trabalho ao qual você deseja adicionar uma nova tarefa. Screenshot shows the plus button next to the job.
  6. Procure a Tarefa de Configuração do Aplicativo do Azure. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  7. Configure os parâmetros necessários dentro da tarefa para extrair seus valores-chave da sua loja de configuração de aplicativos. As descrições dos parâmetros estão disponíveis na seção Parâmetros abaixo e em dicas de ferramentas ao lado de cada parâmetro.
    • Defina o parâmetro de assinatura do Azure como o nome da conexão de serviço que você criou em uma etapa anterior.
    • Defina o Ponto de Extremidade de Configuração do Aplicativo como o ponto de extremidade da sua loja de Configuração de Aplicativo.
    • Deixe os valores padrão para os parâmetros restantes.
  8. Salve e enfileire uma versão. O log de liberação exibirá quaisquer falhas encontradas durante a execução da tarefa.

Parâmetros

Os seguintes parâmetros são usados pela tarefa Configuração do Aplicativo do Azure:

  • Assinatura do Azure: uma lista suspensa que contém suas conexões de serviço do Azure disponíveis. Para atualizar e atualizar sua 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 de configuração do aplicativo: uma lista suspensa que carrega seus pontos de extremidade de armazenamento de configuração disponíveis sob a assinatura selecionada. Para atualizar e atualizar sua lista de pontos de extremidade de armazenamentos de configuração disponíveis, pressione o botão Refresh App Configuration Endpoint à direita da caixa de texto.
  • Modo de seleção: especifica como os valores-chave lidos de um repositório de configuração são selecionados. O modo de seleção 'Padrão' permite o uso de filtros de chave e etiqueta. O modo de seleção 'Snapshot' permite que valores-chave sejam selecionados a partir de um instantâneo. O valor padrão é Default.
  • Filtro de chave: o filtro pode ser usado para selecionar quais valores-chave são solicitados na Configuração do Aplicativo do Azure. Um valor de * selecionará todos os valores-chave. Para obter mais informações sobre, consulte Consultar valores-chave.
  • Label: especifica qual rótulo deve ser usado ao selecionar valores-chave na App Configuration Store. Se nenhum rótulo for fornecido, os valores-chave com o rótulo no serão recuperados. Não são permitidos os seguintes caracteres: , *.
  • Nome do instantâneo: especifica o instantâneo do qual os valores-chave devem ser recuperados na Configuração do Aplicativo do Azure.
  • Prefixo da chave de corte: especifica um ou mais prefixos que devem ser cortados das chaves de configuração do aplicativo antes de defini-los como variáveis. Vários prefixos podem ser separados por um caractere de nova linha.
  • Suprimir aviso para chaves substituídas: o valor padrão está desmarcado. Especifica se os avisos devem ser exibidos quando as chaves existentes forem substituídas. Habilite essa opção quando for esperado que os valores-chave baixados da Configuração do Aplicativo tenham chaves sobrepostas com o que existe nas variáveis de pipeline.

Usar valores-chave em tarefas subsequentes

Os valores-chave que são buscados na Configuração do Aplicativo são definidos como variáveis de pipeline, que são acessíveis como variáveis de ambiente. A chave da variável de ambiente é a chave do valor-chave que é recuperada da Configuração do Aplicativo depois de cortar o prefixo, se especificado.

Por exemplo, se uma tarefa subsequente executar um script do PowerShell, ela poderá consumir um valor-chave com a chave 'myBuildSetting' da seguinte forma:

echo "$env:myBuildSetting"

E o valor será impresso no console.

Nota

As referências do Azure Key Vault na Configuração do Aplicativo serão resolvidas e definidas como variáveis secretas. Nos pipelines do Azure, as variáveis secretas são mascaradas do log. Eles não são passados para tarefas como variáveis de ambiente e, em vez disso, devem ser passados como entradas.

Resolução de Problemas

Se ocorrer um erro inesperado, os logs de depuração podem ser habilitados definindo a variável system.debug de pipeline como true.

FAQ

Como faço para compor minha configuração a partir de várias chaves e rótulos?

Há momentos em que a configuração pode precisar ser composta a partir de vários rótulos, por exemplo, padrão e dev. Várias tarefas de Configuração de Aplicativo podem ser usadas em um pipeline para implementar esse cenário. Os valores-chave obtidos por uma tarefa em uma etapa posterior substituirão quaisquer valores das etapas anteriores. No exemplo acima mencionado, uma tarefa pode ser usada para selecionar valores-chave com o rótulo padrão, enquanto uma segunda tarefa pode selecionar valores-chave com o rótulo de desenvolvimento. As chaves com o rótulo de desenvolvimento substituirão as mesmas chaves pelo rótulo padrão.