Gerenciar grupos de variáveis

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Este artigo explica como criar e usar grupos de variáveis no Azure Pipelines. Os grupos de variáveis armazenam valores e segredos que você pode passar para um pipeline YAML ou disponibilizar em vários pipelines em um projeto.

As variáveis secretas em grupos de variáveis são recursos protegidos. Você pode adicionar combinações de aprovações, verificações e permissões de pipeline para limitar o acesso a variáveis secretas em um grupo de variáveis. O acesso a variáveis não secretas não é limitado por aprovações, verificações ou permissões de pipeline.

Os grupos de variáveis seguem o modelo de segurança da biblioteca para funções e permissões.

Criar um grupo de variáveis

Você pode criar grupos de variáveis para as execuções de pipeline em seu projeto.

Nota

Para criar um grupo de variáveis secretas para vincular segredos de um cofre de chaves do Azure como variáveis, siga as instruções em Vincular segredos de um cofre de chaves do Azure.

Você pode criar um grupo de variáveis na interface do usuário do Azure Pipelines.

Pré-requisitos

Uma organização e um projeto do Azure DevOps onde você tem permissões para criar pipelines e variáveis.

Criar o grupo de variáveis

  1. Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.

  2. Na página Biblioteca, selecione + Grupo de variáveis.

    Captura de ecrã do ecrã Biblioteca e do botão Adicionar grupo de variáveis.

  3. Na página do novo grupo de variáveis, em Propriedades, insira um nome e uma descrição opcional para o grupo de variáveis.

  4. Em Variáveis, selecione + Adicionar e insira um nome e um valor de variável para incluir no grupo. Se quiser criptografar e armazenar o valor com segurança, selecione o ícone de cadeado ao lado da variável.

  5. Selecione + Adicionar para adicionar cada nova variável. Quando terminar de adicionar variáveis, selecione Salvar.

    Captura de tela mostrando como configurar e salvar um grupo de variáveis.

Agora você pode usar esse grupo de variáveis em pipelines de projeto.

Você pode criar um grupo de variáveis que vincula a um cofre de chaves do Azure existente e mapear segredos selecionados do Cofre da Chave para o grupo de variáveis. Apenas os nomes secretos são mapeados para o grupo de variáveis, não os valores secretos. O pipeline executa esse link para o grupo de variáveis e busca os valores secretos mais recentes do cofre.

Quaisquer alterações feitas em segredos existentes no cofre de chaves ficam automaticamente disponíveis para todos os pipelines que usam o grupo de variáveis. No entanto, se segredos forem adicionados ou excluídos do cofre, os grupos de variáveis associados não serão atualizados automaticamente. Você deve atualizar explicitamente os segredos a serem incluídos no grupo de variáveis.

Embora o Cofre de Chaves ofereça suporte ao armazenamento e gerenciamento de chaves criptográficas e certificados no Azure, a integração de grupos de variáveis do Azure Pipelines dá suporte apenas ao mapeamento de segredos do cofre de chaves. Não há suporte para chaves criptográficas e certificados.

Nota

Não há suporte para cofres de chaves que usam o controle de acesso baseado em função do Azure (Azure RBAC).

Pré-requisitos

  • Um cofre de chaves do Azure que contém seus segredos. Você pode criar um cofre de chaves usando o portal do Azure.
  • Uma conexão de serviço do Azure para seu projeto.

Criar o grupo de variáveis

  1. No seu projeto do Azure DevOps, selecione o grupo Biblioteca de Pipelines>>+ Variável.
  2. Na página Grupos de variáveis , insira um nome e uma descrição opcional para o grupo de variáveis.
  3. Habilite os segredos de link de um cofre de chaves do Azure como variáveis alternadas.
  4. Selecione o ponto de extremidade da assinatura do Azure e o nome do cofre da chave.
  5. Habilite o Azure DevOps para acessar o cofre de chaves selecionando Autorizar ao lado do nome do cofre.
  6. Na tela Escolher segredos, selecione segredos específicos do seu cofre para mapeamento para esse grupo de variáveis e selecione OK.
  7. Selecione Salvar para salvar o grupo de variáveis secretas.

Captura de ecrã do grupo variável com a integração do cofre de chaves do Azure.

Nota

Sua conexão de serviço do Azure deve ter pelo menos as permissões Obter e Listar no cofre de chaves, que você pode autorizar nas etapas anteriores. Você também pode fornecer essas permissões do portal do Azure seguindo estas etapas:

  1. Abra Configurações para o cofre de chaves e escolha Configuração>de acesso Vá para políticas de acesso.
  2. Na página Políticas de acesso, se o seu projeto do Azure Pipelines não estiver listado em Aplicativos com pelo menos as permissões Obter e Listar, selecione Criar.
  3. Em Permissões secretas, selecione Obter e Listar e, em seguida, selecione Avançar.
  4. Selecione a entidade de serviço e, em seguida, selecione Avançar.
  5. Selecione Seguinte novamente, reveja as definições e, em seguida, selecione Criar.

Para obter mais informações, consulte Usar segredos do Cofre da Chave do Azure.

Atualizar grupos de variáveis

Você pode atualizar grupos de variáveis usando a interface do usuário do Azure Pipelines.

  1. Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
  2. Na página Biblioteca, selecione o grupo de variáveis que deseja atualizar. Você também pode passar o mouse sobre a listagem do grupo de variáveis, selecionar o ícone Mais opções e selecionar Editar no menu.
  3. Na página do grupo de variáveis, altere qualquer uma das propriedades e selecione Salvar.

Excluir um grupo de variáveis

Você pode excluir grupos de variáveis na interface do usuário do Azure Pipelines.

  1. Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
  2. Na página Biblioteca, passe o mouse sobre o grupo de variáveis que deseja excluir e selecione o ícone Mais opções.
  3. Selecione Excluir no menu e, em seguida, selecione Excluir na tela de confirmação.

Gerenciar variáveis em grupos de variáveis

Você pode alterar, adicionar ou excluir variáveis em grupos de variáveis usando a interface do usuário do Azure Pipelines.

  1. Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
  2. Na página Biblioteca, selecione o grupo de variáveis que deseja atualizar. Você também pode passar o mouse sobre a listagem do grupo de variáveis, selecionar o ícone Mais opções e selecionar Editar no menu.
  3. Na página do grupo de variáveis, você pode:
    • Altere qualquer um dos nomes ou valores das variáveis.
    • Exclua qualquer uma das variáveis selecionando o ícone de lata de lixo ao lado do nome da variável.
    • Altere as variáveis para secretas ou não secretas selecionando o ícone de cadeado ao lado do valor da variável.
    • Adicione novas variáveis selecionando + Adicionar.
  4. Depois de fazer alterações, selecione Salvar.

Usar grupos de variáveis em pipelines

Você pode usar grupos de variáveis em pipelines YAML ou Classic. As alterações feitas em um grupo de variáveis ficam automaticamente disponíveis para todas as definições ou estágios aos quais o grupo de variáveis está vinculado.

Usar grupos de variáveis em pipelines YAML

Depois de autorizar um pipeline YAML a usar um grupo de variáveis, você pode usar o grupo de variáveis ou variáveis dentro dele no pipeline.

Autorizar o pipeline YAML a usar o grupo de variáveis

Se você nomear apenas o grupo de variáveis em pipelines YAML, qualquer pessoa que possa enviar código por push para seu repositório poderá extrair o conteúdo dos segredos no grupo de variáveis. Portanto, para usar um grupo de variáveis com pipelines YAML, você deve autorizar o pipeline a usar o grupo. Os pipelines clássicos podem usar grupos de variáveis sem autorização separada.

Você pode autorizar pipelines a usar seus grupos de variáveis usando a interface do usuário do Azure Pipelines.

  1. Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
  2. Na página Biblioteca, selecione o grupo de variáveis que deseja autorizar.
  3. Na página do grupo de variáveis, selecione a guia Permissões de pipeline.
  4. Na tela Permissões de pipeline, selecione + e, em seguida, selecione um pipeline para autorizar. Ou selecione o ícone Mais ações , selecione Abrir acesso e selecione Abrir acesso novamente para confirmar.

A seleção de um pipeline autoriza esse pipeline a usar o grupo de variáveis. Para autorizar outro pipeline, selecione o + ícone novamente. Selecionar Acesso aberto autoriza todos os pipelines de projeto a usar o grupo de variáveis. O acesso aberto pode ser uma boa opção se você não tiver segredos no grupo.

Outra maneira de autorizar um grupo de variáveis é selecionar o pipeline, selecionar Editar e, em seguida, enfileirar uma compilação manualmente. Você vê um erro de autorização de recursos e pode adicionar explicitamente o pipeline como um usuário autorizado do grupo de variáveis.

Usar o grupo de variáveis no pipeline YAML

Para usar uma variável de um grupo de variáveis, adicione uma referência ao nome do grupo no arquivo de pipeline YAML. Em seguida, você pode usar variáveis do grupo de variáveis em seu arquivo.

variables:
- group: my-variable-group

Você pode fazer referência a vários grupos de variáveis no mesmo pipeline. Se vários grupos de variáveis incluírem a mesma variável, o último grupo de variáveis que usa a variável no arquivo definirá o valor da variável. Para obter mais informações sobre a precedência de variáveis, consulte Expansão de variáveis.

Você também pode fazer referência a um grupo de variáveis em um modelo. O arquivo de modelo de variables.yml a seguir faz referência ao grupo my-variable-groupde variáveis. O grupo de variáveis inclui uma variável chamada myhello.

variables:
- group: my-variable-group

O pipeline YAML faz referência ao modelo variables.yml e usa a variável $(myhello) do grupo my-variable-groupde variáveis.

stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

Usar variáveis de grupo em pipelines YAML

Você acessa os valores de variáveis em um grupo de variáveis vinculado da mesma forma que acessa as variáveis definidas dentro do pipeline. Por exemplo, para acessar o valor de uma variável nomeada customer em um grupo de variáveis vinculado ao pipeline, você pode usar $(customer) um parâmetro de tarefa ou um script.

Se você usar variáveis autônomas e grupos de variáveis em seu arquivo de pipeline, use a name-value sintaxe para as variáveis autônomas.

variables:
- group: my-variable-group
- name: my-standalone-variable
  value: 'my-standalone-variable-value'

Para fazer referência a uma variável em um grupo de variáveis, você pode usar a sintaxe de macro ou uma expressão de tempo de execução. Nos exemplos a seguir, o grupo my-variable-group tem uma variável chamada myhello.

Para usar uma expressão de tempo de execução:

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello]
- script: echo $(my-passed-variable)

Para usar a sintaxe de macro:

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

Não é possível acessar variáveis secretas, incluindo variáveis criptografadas e variáveis do cofre de chaves, diretamente em scripts. Você deve passar essas variáveis como argumentos para uma tarefa. Para obter mais informações, consulte Variáveis secretas.

Usar grupos de variáveis em pipelines clássicos

Os pipelines clássicos podem usar grupos de variáveis sem autorização separada. Para usar um grupo de variáveis:

  1. Abra o pipeline Clássico.

  2. Selecione Variáveis>Grupos de variáveis e, em seguida, selecione Vincular grupo de variáveis.

  3. Em um pipeline de compilação, você verá uma lista de grupos disponíveis. Vincule um grupo de variáveis ao pipeline. Todas as variáveis do grupo estão disponíveis para uso dentro do pipeline.

    Em um pipeline de liberação, você também verá uma lista suspensa de estágios no pipeline. Vincule o grupo de variáveis ao próprio pipeline ou a um ou mais estágios específicos do pipeline de liberação. Se você vincular a um ou mais estágios, as variáveis do grupo de variáveis terão escopo para esses estágios e não estarão acessíveis nos outros estágios da versão.

    Captura de tela que mostra a vinculação de um grupo de variáveis.

Quando você define uma variável com o mesmo nome em vários escopos, a seguinte precedência é usada, a mais alta primeiro:

  1. Variável definida no momento da fila
  2. Conjunto de variáveis no pipeline
  3. Conjunto de variáveis no grupo de variáveis

Para obter mais informações sobre a precedência de variáveis, consulte Expansão de variáveis.

Nota

Variáveis em diferentes grupos que estão ligadas a um pipeline no mesmo escopo (por exemplo, trabalho ou estágio) colidirão e o resultado pode ser imprevisível. Certifique-se de usar nomes diferentes para variáveis em todos os seus grupos de variáveis.