Compartilhar via


Gerenciar grupos de variáveis

Azure DevOps Services | 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.

Pré-requisitos

  • Uma organização e um projeto do Azure DevOps Services em que você tem permissões para criar pipelines e variáveis.
  • Um projeto em sua organização Azure DevOps ou coleção Azure DevOps Server. Crie um projeto se você não tiver um.
  • Se você estiver usando a CLI do Azure DevOps, precisará da CLI do Azure versão 2.30.0 ou superior com a extensão da CLI do Azure DevOps. Para obter mais informações, consulte Introdução à CLI do Azure DevOps.
  • Uma coleção e um projeto Azure DevOps Server em que você tem permissões para criar pipelines e variáveis.
  • Um projeto em sua organização Azure DevOps ou coleção Azure DevOps Server. Crie um projeto se você não tiver um.

Configurar a CLI

Se você estiver usando a CLI do Azure DevOps, precisará configurar a CLI para trabalhar com sua organização e projeto do Azure DevOps.

  1. Entre em sua organização do Azure DevOps usando o comando az login .

    az login
    
  2. Se solicitado, selecione sua assinatura na lista exibida na janela do terminal.

  3. Verifique se você está executando a versão mais recente da CLI do Azure e da extensão do Azure DevOps usando os comandos a seguir.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. Nos comandos da CLI do Azure DevOps, você pode definir a organização e o projeto padrão usando:

    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    Se você não tiver definido a organização e o projeto padrão, poderá usar o detect=true parâmetro em seus comandos para detectar automaticamente o contexto da organização e do projeto com base no diretório atual. Se os padrões não forem configurados ou detectados, você precisará especificar explicitamente os org parâmetros and project em seus comandos.

Criar um grupo de variáveis

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

Observação

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 um grupo de variáveis a segredos no Azure Key Vault.

  1. No projeto do Azure DevOps, selecione Pipelines>Biblioteca no menu à esquerda.

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

    Captura de tela da tela 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 de variável e um valor para incluir no grupo. Se você 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 da configuração e do salvamento de um grupo de variáveis.

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

Atualizar os grupos de variáveis

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

  1. No projeto do Azure DevOps, selecione Pipelines>Biblioteca 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 lista 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. No projeto do Azure DevOps, selecione Pipelines>Biblioteca 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 um grupo 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. No projeto do Azure DevOps, selecione Pipelines>Biblioteca 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 lista do grupo de variáveis, selecionar o ícone Mais opções e selecionar Editar no menu.
  3. Na página de grupo de variáveis, você pode:
    • Altere qualquer um dos nomes ou valores de variáveis.
    • Exclua qualquer uma das variáveis selecionando o ícone da lixeira 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 as alterações, selecione Salvar.

Usar grupos de variáveis em pipelines

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

Se você nomear apenas o grupo de variáveis nos pipelines YAML, qualquer pessoa que possa enviar código por push para o 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ê deverá autorizar o pipeline a usar o grupo. Você pode autorizar um pipeline a usar um grupo de variáveis na interface do usuário do Azure Pipelines ou usando a CLI do Azure DevOps.

Autorização por meio da interface do usuário do Pipelines

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

  1. No projeto do Azure DevOps, selecione Pipelines>Biblioteca 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 do pipeline.
  4. Na tela Permissões de pipeline, selecione + e, em seguida, selecione um pipeline de projeto para autorizar. Ou selecione o ícone Mais ações, selecione Acesso aberto e selecione Acesso aberto 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 enfileirar um build manualmente. Você vê um erro de autorização de recurso e pode adicionar explicitamente o pipeline como um usuário autorizado do grupo de variáveis.

Autorização por meio da CLI do Azure DevOps

No Azure DevOps Services, você pode autorizar os grupos de variáveis usando a CLI do Azure DevOps.

Não há suporte para comandos da CLI do Azure DevOps para Azure DevOps Server.

Para autorizar todos os pipelines de projeto a usar o grupo de variáveis, defina o parâmetro authorize no comando az pipelines variable-group create para true. Esse acesso aberto pode ser uma boa opção se você não tiver nenhum segredo no grupo.

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

Para usar variáveis de um grupo de variáveis, adicione uma referência ao nome do grupo no arquivo de pipeline YAML.

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 as variáveis com o mesmo nome, 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 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 variables.yml a seguir faz referência ao grupo de variáveis my-variable-group. 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 de variáveis my-variable-group.

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

Usar variáveis em um grupo de variáveis vinculadas

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

Se você usar variáveis autônomas e grupos de variáveis no arquivo de pipeline, use a sintaxe name-value 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ê poderá usar a sintaxe de macro ou uma expressão de runtime. Nos exemplos a seguir, o grupo my-variable-group tem uma variável chamada myhello.

Para usar uma expressão de runtime:

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)

Você não pode 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.