Adicionar e usar grupos de variáveis
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Os grupos de variáveis armazenam valores e segredos que talvez você queira 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.
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 e permissões de pipeline.
Criar um grupo de variáveis
Você não pode 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 no arquivo YAML.
Se você usar tanto variáveis quanto grupos de variáveis, use a sintaxe name
/value
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 runtime. 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
Nesse pipeline, a variável $(myhello)
do grupo de variáveis my-variable-group
é incluída e variables.yml
é referenciado.
# 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 de variáveis, você precisa autorizar o grupo. Se você nomear apenas o grupo de variáveis no 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. 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 um build manualmente. Você verá um erro de autorização de recurso 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, acesse Azure Pipelines. Essa pode ser uma boa opção se você não tiver segredos no grupo. SelecioneBiblioteca>Grupos de variáveis e, em seguida, selecione o grupo de variáveis em questão e habilite a configuração Permitir acesso a todos os pipelines.
Observação
Se você adicionar um grupo de variáveis a um pipeline e não receber um erro de autorização de recurso em seu build quando esperado, desative a configuração Permitir acesso a todos os pipelines.
Acesse os valores de variável em um grupo de variáveis vinculado da mesma maneira que as variáveis que você define dentro do próprio pipeline.
Por exemplo, para acessar o valor de uma variável chamada customer em um grupo de variáveis vinculado ao pipeline, use $(customer)
em um parâmetro de tarefa ou um script. No entanto, 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 precisam ser passadas como argumentos para uma tarefa. Para obter mais informações, confira segredos
As alterações feitas em um grupo de variáveis estão automaticamente disponíveis para todas as definições ou fases às quais o grupo de variáveis é 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 a CLI for nova para você, confira 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: o nome do grupo de variáveis. Os curingas, como
new-var*
, são aceitos. - org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. - query-order: lista os resultados em ordem crescente ou decrescente (o padrão). Os valores aceitos são Asc e Desc.
- top: o 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 a CLI for nova para você, confira Introdução à CLI do Azure DevOps.
az pipelines variable-group show --group-id
[--org]
[--project]
Parâmetros
- group-id: obrigatório. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
.
Exemplo
O comando a seguir mostra detalhes do grupo de variáveis com a 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 a CLI for nova para você, confira Introdução à CLI do Azure DevOps.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parâmetros
- group-id: obrigatório. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. - yes: opcional. Não solicite confirmação.
Exemplo
O comando a seguir exclui o grupo de variáveis com a 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 create. Se a extensão do Azure DevOps para a CLI for nova para você, confira 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. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- nome: Obrigatórios. O nome da variável que você está adicionando.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. - secret: opcional. Indica se o valor da variável é um segredo. Os valores aceitos são false e true.
- value: necessário para variável não secreta. O 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ável de ambienteAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exemplo
O comando a seguir cria uma variável no grupo de variáveis com a ID 4. A nova variável é chamada requires-login e tem um valor True, e o resultado é mostrado no 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. Se a extensão do Azure DevOps para a CLI for nova para você, confira Introdução à CLI do Azure DevOps.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parâmetros
- group-id: obrigatório. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
.
Exemplo
O comando a seguir lista todas as variáveis no grupo de variáveis com a ID 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 a CLI for nova para você, confira 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. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- nome: Obrigatórios. O nome da variável que você está adicionando.
- new-name opcional. Especifique para alterar o nome da variável.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. - prompt-value: defina como true para atualizar o valor de uma variável secreta usando variável de ambiente ou prompt por meio de entrada padrão. Os valores aceitos são false e true.
- secret: opcional. Indica se o valor da variável é mantido secreto. Os valores aceitos são false e true.
- value: atualiza o valor da variável. Para variáveis secretas, use o parâmetro prompt-value para ser solicitado a inseri-lo de maneira padrão. Para consoles não interativos, ele pode ser escolhido na variável de ambiente prefixada com
AZURE_DEVOPS_EXT_PIPELINE_VAR_
. Por exemplo, uma variável chamada MySecret pode ser inserida usando a variável de ambienteAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exemplo
O comando a seguir atualiza a variável requires-login com o novo valor False no grupo de variáveis com a ID 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 nulo em vez de False, pois é 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 a CLI for nova para você, confira Introdução à CLI do Azure DevOps.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parâmetros
- group-id: obrigatório. A ID do grupo de variáveis. Para localizar a ID do grupo de variáveis, confira Listar grupos de variáveis.
- nome: Obrigatórios. O nome da variável que você está excluindo.
- org: a URL da organização do Azure DevOps. Configure a organização padrão usando
az devops configure -d organization=ORG_URL
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. Exemplo:--org https://dev.azure.com/MyOrganizationName/
. - project: nome ou ID do projeto. Você pode configurar o projeto padrão usando
az devops configure -d project=NAME_OR_ID
. Obrigatório se não estiver configurado como padrão ou selecionado por meio degit config
. - yes: opcional. Não solicite confirmação.
Exemplo
O comando a seguir exclui a variável requires-login do grupo de variáveis com a ID 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.
Vincular segredos de um cofre de chaves do Azure
Observação
Não há suporte para Cofres de Chaves que usam o RBAC do Azure (controle de acesso baseado em função) do Azure.
Vincule um Azure Key Vault a um grupo de variáveis e mapeie segredos seletivos do cofre para o grupo de variáveis.
Na página Grupos de variáveis, habilite Vincular segredos de um Azure Key Vault como variáveis. Você precisará de um cofre de chaves existente que contenha seus segredos. Crie um key vault usando o portal do Azure.
Especifique o ponto de extremidade da 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 as permissões de gerenciamento Obter e Listar no cofre para obter segredos. Habilite o Azure Pipelines para definir essas permissões escolhendo Autorizar ao lado do nome do cofre. Ou então, defina as permissões manualmente no portal do Azure:
- Abra Configurações para o cofre e escolha Políticas de acesso>Adicionar.
- Selecione Selecionar entidade e escolha a entidade de serviço para sua conta cliente.
- Selecione Permissões de segredo e verifique se Obter e Listar estão marcadas.
- Selecione Ok para salvar as alterações.
Na página Grupos de variáveis, selecione + Adicionar para selecionar segredos específicos do cofre para mapeamento para esse grupo de variáveis.
Gerenciar segredos do Key Vault
Confira a lista a seguir de dicas úteis para gerenciar segredos.
Somente os nomes de segredo são mapeados para o grupo de variáveis, não os valores de segredo. O valor do segredo mais recente, buscado do cofre, é usado na execução de pipeline vinculada ao grupo de variáveis.
Qualquer alteração feita em segredos existentes no cofre de chaves está automaticamente disponível para todos os pipelines em que o grupo de variáveis é usado.
Quando 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 precisam ser atualizados explicitamente 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 ao gerenciamento de chaves criptográficas e segredos no Azure. Atualmente, a integração de grupo de variáveis do Azure Pipelines dá suporte ao mapeamento apenas de segredos do Azure Key Vault. Não há suporte para chaves criptográficas e certificados.
Expandir as 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 precedência de variáveis, consulte Variáveis.
Artigos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de