Adicionar & usar grupos de variáveis
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Os grupos de variáveis armazenam valores e segredos que você pode querer que sejam passados para um pipeline YAML ou disponibilizados em vários pipelines. Você pode compartilhar e usar grupos de variáveis em vários pipelines no mesmo projeto.
As variáveis secretas nos grupos 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 e permissões de pipeline.
Criar um grupo de variáveis
Não é possível criar grupos de variáveis no YAML, mas eles podem ser usados conforme descrito em Usar um grupo de variáveis.
Usar um grupo de variáveis
Para usar uma variável de um grupo de variáveis, adicione uma referência ao grupo no arquivo YAML:
variables:
- group: my-variable-group
Em seguida, as variáveis do grupo de variáveis podem ser usadas em seu arquivo YAML.
Se você usar variáveis e grupos de variáveis, use a name
/value
sintaxe para as variáveis individuais não agrupadas:
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Para fazer referência a um grupo de variáveis, use a sintaxe de macro ou uma expressão de tempo de execução. No exemplo a seguir, o grupo my-variable-group
tem uma variável chamada myhello
.
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello] # uses runtime expression
steps:
- script: echo $(myhello) # uses macro syntax
- script: echo $(my-passed-variable)
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 grupo de variáveis incluído por último no arquivo YAML definirá o valor da variável.
variables:
- group: my-first-variable-group
- group: my-second-variable-group
Você também pode fazer referência a um grupo de variáveis em um modelo. No modelo variables.yml
, o grupo my-variable-group
é referenciado. O grupo de variáveis inclui uma variável chamada myhello
.
# variables.yml
variables:
- group: my-variable-group
Neste pipeline, a variável $(myhello)
do grupo my-variable-group
de variáveis é incluída e variables.yml
referenciada.
# azure-pipeline.yml
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Autorizar um grupo de variáveis
Para trabalhar com um grupo variável, você deve autorizar o grupo. Se você nomear apenas o grupo de variáveis no YAML, qualquer pessoa que possa enviar código para seu repositório poderá extrair o conteúdo dos segredos no grupo de variáveis. Para autorizar o grupo, use uma das seguintes técnicas:
Para autorizar um grupo de variáveis para um pipeline específico, abra o pipeline, selecione Editar e enfileire uma compilação manualmente. Você vê um erro de autorização de recursos e uma ação "Autorizar recursos" no erro. Escolha esta ação para adicionar explicitamente o pipeline como um usuário autorizado do grupo de variáveis.
Para autorizar qualquer pipeline a usar o grupo de variáveis, vá para Azure Pipelines. Esta pode ser uma boa opção se você não tiver segredos no grupo. Selecione Grupos de variáveis da biblioteca>e, em seguida, selecione o grupo de variáveis em questão e habilite a configuração Permitir acesso a todos os pipelines.
Nota
Se você adicionar um grupo de variáveis a um pipeline e não receber um erro de autorização de recurso em sua compilação quando esperava, desative a configuração Permitir acesso a todos os pipelines .
Acesse os valores das variáveis em um grupo de variáveis vinculadas da mesma forma que as variáveis definidas dentro do próprio pipeline.
Por exemplo, para acessar o valor de uma variável chamada cliente em um grupo de variáveis vinculado ao pipeline, use $(customer)
um parâmetro de tarefa ou um script. Mas, você não pode acessar variáveis secretas (variáveis criptografadas e variáveis do cofre de chaves) diretamente em scripts - em vez disso, elas devem ser passadas como argumentos para uma tarefa. Para obter mais informações, consulte segredos
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 fica vinculado.
Listar grupos de variáveis
Use a CLI para listar os grupos de variáveis para execuções de pipeline com o comando az pipelines variable-group list. Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group list [--action {manage, none, use}]
[--continuation-token]
[--group-name]
[--org]
[--project]
[--query-order {Asc, Desc}]
[--top]
Parâmetros opcionais
- action: Especifica a ação que pode ser executada nos grupos de variáveis. Os valores aceitos são manage, none e use.
- continuation-token: Lista os grupos de variáveis depois que um token de continuação é fornecido.
- group-name: Nome do grupo de variáveis. Curingas são aceitos, como
new-var*
. - org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . - query-order: lista os resultados em ordem crescente ou decrescente (o padrão). Os valores aceitos são Asc e Desc.
- top: Número de grupos de variáveis a serem listados.
Exemplo
O comando a seguir lista os três principais grupos de variáveis em ordem crescente e retorna os resultados em formato de tabela.
az pipelines variable-group list --top 3 --query-order Asc --output table
ID Name Type Number of Variables
---- ----------------- ------ ---------------------
1 myvariables Vsts 2
2 newvariables Vsts 4
3 new-app-variables Vsts 3
Mostrar detalhes para um grupo de variáveis
Exiba os detalhes de um grupo de variáveis em seu projeto com o comando az pipelines variable-group show . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group show --group-id
[--org]
[--project]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o .
Exemplo
O comando a seguir mostra detalhes para o grupo de variáveis com o ID 4 e retorna os resultados no formato YAML.
az pipelines variable-group show --group-id 4 --output yaml
authorized: false
description: Variables for my new app
id: 4
name: MyNewAppVariables
providerData: null
type: Vsts
variables:
app-location:
isSecret: null
value: Head_Office
app-name:
isSecret: null
value: Fabrikam
Excluir um grupo de variáveis
Exclua um grupo de variáveis em seu projeto com o comando az pipelines variable-group delete . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . - Sim: Opcional. Não solicita confirmação.
Exemplo
O comando a seguir exclui o grupo de variáveis com o ID 1 e não solicita confirmação.
az pipelines variable-group delete --group-id 1 --yes
Deleted variable group successfully.
Adicionar variáveis a um grupo de variáveis
Com a CLI do Azure DevOps, você pode adicionar uma variável a um grupo de variáveis em um pipeline com o comando az pipelines variable-group variable group . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- nome: Obrigatório. Nome da variável que você está adicionando.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . - secret: Opcional. Indica se o valor da variável é um segredo. Os valores aceites são falsos e verdadeiros.
- value: Necessário para variável não secreta. Valor da variável. Para variáveis secretas, se o parâmetro value não for fornecido, ele será escolhido da variável de ambiente prefixada com
AZURE_DEVOPS_EXT_PIPELINE_VAR_
ou o usuário será solicitado a inseri-lo por meio de entrada padrão. Por exemplo, uma variável chamada MySecret pode ser inserida usando a variávelAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
de ambiente .
Exemplo
O comando a seguir cria uma variável no grupo de variáveis com ID de 4. A nova variável é chamada requires-login e tem um valor True, e o resultado é mostrado em formato de tabela.
az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table
Name Is Secret Value
-------------- ----------- -------
requires-login False True
Listar variáveis em um grupo de variáveis
Você pode listar as variáveis em um grupo de variáveis com o comando az pipelines variable-group variable list list . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o .
Exemplo
O comando a seguir lista todas as variáveis no grupo de variáveis com ID de 4 e mostra o resultado em formato de tabela.
az pipelines variable-group variable list --group-id 4 --output table
Name Is Secret Value
-------------- ----------- -----------
app-location False Head_Office
app-name False Fabrikam
requires-login False True
Atualizar variáveis em um grupo de variáveis
Atualize uma variável em um grupo de variáveis com o comando az pipelines variable-group variable update . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group variable update --group-id
--name
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--value]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- nome: Obrigatório. Nome da variável que você está adicionando.
- novo nome: Opcional. Especifique para alterar o nome da variável.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . - prompt-value: defina como true para atualizar o valor de uma variável secreta usando a variável de ambiente ou prompt via entrada padrão. Os valores aceites são falsos e verdadeiros.
- secret: Opcional. Indica se o valor da variável é mantido em segredo. Os valores aceites são falsos e verdadeiros.
- value: Atualiza o valor da variável. Para variáveis secretas, use o parâmetro prompt-value para ser solicitado a inseri-lo por meio de entrada padrão. Para consoles não interativos, ele pode ser escolhido a partir da variável de ambiente prefixada com
AZURE_DEVOPS_EXT_PIPELINE_VAR_
. Por exemplo, uma variável chamada MySecret pode ser inserida usando a variávelAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
de ambiente .
Exemplo
O comando a seguir atualiza a variável requires-login com o novo valor False no grupo de variáveis com ID de 4. Ele especifica que a variável é um segredo e mostra o resultado no formato YAML. Observe que a saída mostra o valor como null em vez de False já que é um valor oculto secreto.
az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml
requires-login:
isSecret: true
value: null
Excluir variáveis de um grupo de variáveis
Exclua uma variável de um grupo de variáveis com o comando az pipelines variable-group variable delete . Se a extensão do Azure DevOps para CLI for nova para você, consulte Introdução à CLI do Azure DevOps.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parâmetros
- group-id: Obrigatório. ID do grupo de variáveis. Para localizar o ID do grupo de variáveis, consulte Listar grupos de variáveis.
- nome: Obrigatório. Nome da variável que você está excluindo.
- org: URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - projeto: Nome ou ID do projeto. Configure o projeto padrão usando
az devops configure -d project=NAME_OR_ID
o . Obrigatório se não estiver configurado como padrão ou coletado usandogit config
o . - Sim: Opcional. Não solicita confirmação.
Exemplo
O comando a seguir exclui a variável requires-login do grupo de variáveis com ID de 4 e solicita confirmação.
az pipelines variable-group variable delete --group-id 4 --name requires-login
Are you sure you want to delete this variable? (y/n): y
Deleted variable 'requires-login' successfully.
Associar segredos de um cofre de chaves do Azure
Nota
Não há suporte para Cofres de Chaves usando o controle de acesso baseado em função do Azure (Azure RBAC).
Vincule um cofre de chaves do Azure existente a um grupo de variáveis e mapeie segredos de cofre seletivo para o grupo de variáveis.
Na página Grupos de variáveis, habilite Segredos de link de um cofre de chaves do Azure como variáveis. Você precisará de um cofre de chaves existente contendo seus segredos. Crie um cofre de chaves usando o portal do Azure.
Especifique seu ponto final de assinatura do Azure e o nome do cofre que contém seus segredos.
Verifique se a conexão de serviço do Azure tem pelo menos permissões de gerenciamento Obter e Listar no cofre para segredos. Habilite o Azure Pipelines para definir essas permissões escolhendo Autorizar ao lado do nome do cofre. Ou defina as permissões manualmente no portal do Azure:
- Abra Configurações do cofre e escolha Políticas de acesso>Adicionar novo.
- Selecione Selecionar entidade de segurança e, em seguida, escolha a entidade de serviço para a sua conta de cliente.
- Selecione Permissões secretas e verifique se Obter e Listar têm marcas de seleção.
- Selecione OK para salvar as alterações.
Na página Grupos de variáveis, selecione + Adicionar para selecionar segredos específicos do seu cofre para mapeamento para esse grupo de variáveis.
Gerenciar segredos do cofre de chaves
Veja a seguinte lista de dicas úteis para gerenciar segredos.
Apenas os nomes secretos são mapeados para o grupo de variáveis, não os valores secretos. O valor secreto mais recente, obtido no cofre, é usado na execução de pipeline vinculada ao grupo de variáveis.
Qualquer alteração feita em segredos existentes no cofre de chaves fica automaticamente disponível para todos os pipelines em que o grupo de variáveis é usado.
Quando novos segredos são adicionados ou excluídos do cofre, os grupos de variáveis associados não são atualizados automaticamente. Os segredos incluídos no grupo de variáveis devem ser explicitamente atualizados para que os pipelines que estão usando o grupo de variáveis sejam executados corretamente.
O Azure Key Vault dá suporte ao armazenamento e gerenciamento de chaves criptográficas e segredos no Azure. Atualmente, a integração de grupos variáveis do Azure Pipelines dá suporte ao mapeamento apenas de segredos do cofre de chaves do Azure. Não há suporte para chaves criptográficas e certificados.
Expandir variáveis em um grupo
Quando você define uma variável em um grupo e a usa em um arquivo YAML, ela é igual a outras variáveis definidas no arquivo YAML. Para obter mais informações sobre a precedência de variáveis, consulte Variáveis.
Artigos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários