Enviar definições para App Configuration com os Pipelines do Azure

A tarefa Push Azure App Configuration envia valores-chave de um ficheiro de configuração para o seu arquivo de App Configuration. Esta tarefa permite a funcionalidade de círculo completo no pipeline, uma vez que agora pode solicitar definições do arquivo de App Configuration, bem como enviar definições para o arquivo de App Configuration.

Pré-requisitos

Criar uma ligação de serviço

Uma ligação de serviço dá-lhe acesso aos recursos na sua subscrição do Azure a partir do projeto do Azure DevOps.

  1. No Azure DevOps, aceda ao projeto que contém o pipeline de destino. No canto inferior esquerdo, selecione Definições do projeto.

  2. Em Pipelines, selecione Service connections (Ligações do serviço). No canto superior direito, selecione Nova ligação de serviço.

  3. Em Nova ligação de serviço, selecione Azure Resource Manager.

    Captura de ecrã a mostrar a seleção de Resource Manager do Azure na lista pendente Nova ligação de serviço.

  4. Na caixa de diálogo Método de autenticação , selecione Principal de serviço (automático) para criar um novo principal de serviço ou selecione Principal de serviço (manual) para utilizar um principal de serviço existente.

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

Se tiver criado um novo principal de serviço, localize o nome do principal de serviço atribuído à ligação de serviço. Irá adicionar uma nova atribuição de função a este principal de serviço no próximo passo.

  1. Aceda aLigações do Serviçode Definições> do Projeto.

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

  3. Selecione Gerir Principal de Serviço.

  4. Anote o valor em Nome a apresentar.

    Captura de ecrã a mostrar o nome a apresentar do principal de serviço.

Adicionar atribuição de função

Atribua as atribuições de funções de App Configuration adequadas às credenciais que estão a ser utilizadas na tarefa para que a tarefa possa aceder ao arquivo de App Configuration.

  1. Aceda à loja de App Configuration de destino.

  2. No menu esquerdo, selecione Controlo de acesso (IAM).

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

    Captura de ecrã a mostrar o botão Adicionar atribuições de funções.

  4. Em Função, selecione App Configuration Proprietário de Dados. Esta função permite que a tarefa leia e escreva no arquivo de App Configuration.

  5. Selecione o principal de serviço associado à ligação de serviço que criou na secção anterior.

    Captura de ecrã a mostrar a caixa de diálogo Adicionar atribuição de função.

  6. Selecione Rever + atribuir.

Utilizar em compilações

Esta secção irá abordar como utilizar a tarefa push Azure App Configuration num pipeline de compilação do Azure DevOps.

  1. Navegue para a página do pipeline de compilação ao clicar em Pipelines>Pipelines. A documentação para pipelines de compilação pode ser encontrada aqui.
    • Se estiver a criar um novo pipeline de compilação, no último passo do processo, no separador Rever , selecione Mostrar assistente no lado direito do pipeline.

      Captura de ecrã a mostrar o botão Mostrar assistente para um novo pipeline.

    • Se estiver a utilizar um pipeline de compilação existente, clique no botão Editar no canto superior direito.

      Captura de ecrã a mostrar o botão Editar de um pipeline existente.

  2. Procure a Tarefa push Azure App Configuration.

    Captura de ecrã a mostrar a caixa de diálogo Adicionar Tarefa com Azure App Configuration Push na caixa de pesquisa.

  3. Configure os parâmetros necessários para a tarefa enviar os valores-chave do ficheiro de configuração para o arquivo de App Configuration. As explicações dos parâmetros estão disponíveis na secção Parâmetros abaixo e nas descrições junto a cada parâmetro.

    Captura de ecrã a mostrar os parâmetros da tarefa push de configuração da aplicação.

  4. Guardar e colocar em fila uma compilação. O registo de compilação apresentará quaisquer falhas que ocorreram durante a execução da tarefa.

Utilizar em versões

Esta secção irá abordar como utilizar a tarefa push Azure App Configuration num pipeline de versão do Azure DevOps.

  1. Navegue para a página do pipeline de versão ao selecionar Versões> dePipelines. A documentação para pipelines de versão pode ser encontrada aqui.
  2. Escolha um pipeline de versão existente. Se não tiver um, selecione + Novo para criar um novo.
  3. Selecione o botão Editar no canto superior direito para editar o pipeline de versão.
  4. Na lista pendente Tarefas , selecione a Fase à qual pretende adicionar a tarefa. Pode encontrar mais informações sobre as fases aqui.

    Captura de ecrã a mostrar a fase selecionada na lista pendente Tarefas.

  5. Clique + junto à Tarefa à qual pretende adicionar uma nova tarefa.

    Captura de ecrã a mostrar o botão de adição junto à tarefa.

  6. Na caixa de diálogo Adicionar tarefas, escreva Azure App Configuration Emita para a caixa de pesquisa e selecione-a.
  7. Configure os parâmetros necessários na tarefa para emitir os valores-chave do ficheiro de configuração para o arquivo de App Configuration. As explicações dos parâmetros estão disponíveis na secção Parâmetros abaixo e nas descrições junto a cada parâmetro.
  8. Guarde e coloque uma versão em fila. O registo de versões apresentará quaisquer falhas encontradas durante a execução da tarefa.

Parâmetros

Os parâmetros seguintes são utilizados pela tarefa Push do App Configuration:

  • Subscrição do Azure: uma lista pendente que contém as suas ligações de serviço do Azure disponíveis. Para atualizar a sua lista de ligações de serviço do Azure disponíveis, prima o botão Atualizar subscrição do Azure à direita da caixa de texto.
  • App Configuration Ponto Final: uma lista pendente que carrega a configuração disponível armazena o ponto final na subscrição selecionada. Para atualizar a sua lista de pontos finais de arquivos de configuração disponíveis, prima o botão Atualizar App Configuration Ponto Final à direita da caixa de texto.
  • Caminho do Ficheiro de Configuração: o caminho para o ficheiro de configuração. O parâmetro Caminho do Ficheiro de Configuração começa na raiz do repositório de ficheiros. Pode navegar pelo artefacto de compilação para selecionar um ficheiro de configuração. (... botão à direita da caixa de texto). Os formatos de ficheiro suportados dependem do perfil de conteúdo de ficheiro. Para o perfil predefinido, os formatos de ficheiro suportados são yaml, json e propriedades. Para o perfil KvSet, o formato de ficheiro suportado é json.
  • Perfil de Conteúdo de Ficheiro: o perfil de conteúdo do Ficheiro de Configuração. O valor predefinido é Predefinido.
    • Predefinição: refere-se aos formatos de ficheiro de configuração convencionais que são diretamente consumíveis pelas aplicações.
    • Kvset: refere-se a um esquema de ficheiro que contém todas as propriedades de um App Configuration chave-valor, incluindo chave, valor, etiqueta, tipo de conteúdo e etiquetas. Os parâmetros de tarefa "Separador", "Etiqueta", "Tipo de conteúdo", "Prefixo", "Etiquetas" e "Profundidade" não são aplicáveis ao utilizar o perfil Kvset.
  • Modo de Importação: o valor predefinido é Todos. Determina o comportamento ao importar valores-chave.
    • Tudo: importa todos os valores de chave no ficheiro de configuração para App Configuration.
    • Ignore-Match: importa apenas as definições que não têm um valor de chave correspondente no App Configuration. Os valores de chave correspondentes são considerados valores-chave com a mesma chave, etiqueta, valor, tipo de conteúdo e etiquetas.
  • Execução a Seco: o valor predefinido é Desmarcado.
    • Selecionado: não serão efetuadas atualizações ao App Configuration. Em vez disso, todas as atualizações que teriam sido executadas numa execução normal serão impressas na consola para revisão.
    • Desmarcado: efetua quaisquer atualizações para App Configuration e não é impresso na consola.
  • Separador: o separador utilizado para aplanar ficheiros .json e .yml.
  • Profundidade: a profundidade para a qual os ficheiros .json e .yml serão achatados.
  • Prefixo: uma cadeia que é anexada ao início de cada chave enviada para o arquivo de App Configuration.
  • Etiqueta: uma cadeia que é adicionada a cada chave-valor como a etiqueta no arquivo de App Configuration.
  • Tipo de Conteúdo: uma cadeia que é adicionada a cada valor-chave como o tipo de conteúdo no arquivo de App Configuration.
  • Etiquetas: um objeto JSON no formato de {"tag1":"val1", "tag2":"val2"}, que define etiquetas que são adicionadas a cada valor-chave enviado para o seu arquivo de App Configuration.
  • Eliminar valores-chave que não estão incluídos no ficheiro de configuração: o valor predefinido é Desmarcado. O comportamento desta opção depende do perfil de conteúdo do ficheiro de configuração.
    • Verificado:
      • Perfil de conteúdo predefinido: remove todos os valores-chave no arquivo de App Configuration que correspondem ao prefixo e à etiqueta especificados antes de emitir novos valores-chave do ficheiro de configuração.
      • Perfil de conteúdo Kvset: remove todos os valores-chave no arquivo de App Configuration que não estão incluídos no ficheiro de configuração antes de emitir novos valores-chave do ficheiro de configuração.
    • Desmarcado: envia todos os valores-chave do ficheiro de configuração para o arquivo de App Configuration e deixa tudo o resto no arquivo de App Configuration intacto.

Resolução de problemas

Se ocorrer um erro inesperado, os registos de depuração podem ser ativados ao definir a variável system.debug de pipeline como true.

FAQ

Como posso carregar vários ficheiros de configuração?

Crie várias instâncias do Azure App Configuration tarefa Push no mesmo pipeline para enviar vários ficheiros de configuração para o arquivo de App Configuration.

Como posso criar referências de Key Vault ou sinalizadores de funcionalidades com esta tarefa?

Dependendo do perfil de conteúdo de ficheiro que selecionou, veja exemplos no Azure App Configuration suporte para o ficheiro de configuração.

Por que motivo estou a receber um erro 409 ao tentar emitir valores-chave para o meu arquivo de configuração?

Ocorrerá uma mensagem de erro Conflito 409 se a tarefa tentar remover ou substituir um valor-chave bloqueado no arquivo de App Configuration.