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
Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
Na página Biblioteca, selecione + Grupo de variáveis.
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.
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.
Selecione + Adicionar para adicionar cada nova variável. Quando terminar de adicionar variáveis, selecione Salvar.
Agora você pode usar esse grupo de variáveis em pipelines de projeto.
Associar segredos de um cofre de chaves do Azure
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
- No seu projeto do Azure DevOps, selecione o grupo Biblioteca de Pipelines>>+ Variável.
- Na página Grupos de variáveis , insira um nome e uma descrição opcional para o grupo de variáveis.
- Habilite os segredos de link de um cofre de chaves do Azure como variáveis alternadas.
- Selecione o ponto de extremidade da assinatura do Azure e o nome do cofre da chave.
- Habilite o Azure DevOps para acessar o cofre de chaves selecionando Autorizar ao lado do nome do cofre.
- Na tela Escolher segredos, selecione segredos específicos do seu cofre para mapeamento para esse grupo de variáveis e selecione OK.
- Selecione Salvar para salvar o grupo de variáveis secretas.
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:
- Abra Configurações para o cofre de chaves e escolha Configuração>de acesso Vá para políticas de acesso.
- 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.
- Em Permissões secretas, selecione Obter e Listar e, em seguida, selecione Avançar.
- Selecione a entidade de serviço e, em seguida, selecione Avançar.
- 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.
- Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
- 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.
- 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.
- Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
- Na página Biblioteca, passe o mouse sobre o grupo de variáveis que deseja excluir e selecione o ícone Mais opções.
- 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.
- Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
- 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.
- 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.
- 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.
- Em seu projeto do Azure DevOps, selecione Biblioteca de Pipelines>no menu à esquerda.
- Na página Biblioteca, selecione o grupo de variáveis que deseja autorizar.
- Na página do grupo de variáveis, selecione a guia Permissões de pipeline.
- 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-group
de 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-group
de 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:
Abra o pipeline Clássico.
Selecione Variáveis>Grupos de variáveis e, em seguida, selecione Vincular grupo de variáveis.
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.
Quando você define uma variável com o mesmo nome em vários escopos, a seguinte precedência é usada, a mais alta primeiro:
- Variável definida no momento da fila
- Conjunto de variáveis no pipeline
- 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.