Aggiungi e usa gruppi di variabili
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
I gruppi di variabili archiviano i valori e i segreti che è possibile passare a una pipeline YAML o rendere disponibili in più pipeline. È possibile condividere e usare gruppi di variabili in più pipeline nello stesso progetto.
Le variabili segrete nei gruppi di variabili sono risorse protette. È possibile aggiungere combinazioni di approvazioni, controlli e autorizzazioni della pipeline per limitare l'accesso alle variabili segrete in un gruppo di variabili. L'accesso alle variabili non segrete non è limitato dalle approvazioni, dai controlli e dalle autorizzazioni della pipeline.
Creare un gruppo di variabili
Non è possibile creare gruppi di variabili in YAML, ma possono essere usati come descritto in Usare un gruppo di variabili.
Usare un gruppo di variabili
Per usare una variabile da un gruppo di variabili, aggiungere un riferimento al gruppo nel file YAML:
variables:
- group: my-variable-group
Le variabili del gruppo di variabili possono quindi essere usate nel file YAML.
Se si usano sia variabili che gruppi di variabili, usare la name
/value
sintassi per le singole variabili non raggruppate:
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Per fare riferimento a un gruppo di variabili, usare la sintassi macro o un'espressione di runtime. Nell'esempio seguente il gruppo my-variable-group
ha una variabile denominata 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)
È possibile fare riferimento a più gruppi di variabili nella stessa pipeline. Se più gruppi di variabili includono la stessa variabile, il gruppo di variabili incluso per ultimo nel file YAML imposta il valore della variabile.
variables:
- group: my-first-variable-group
- group: my-second-variable-group
È anche possibile fare riferimento a un gruppo di variabili in un modello. Nel modello variables.yml
viene fatto riferimento al gruppo my-variable-group
. Il gruppo di variabili include una variabile denominata myhello
.
# variables.yml
variables:
- group: my-variable-group
In questa pipeline la variabile del gruppo di variabili $(myhello)
è inclusa e variables.yml
viene fatto my-variable-group
riferimento.
# azure-pipeline.yml
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Autorizzare un gruppo di variabili
Per usare un gruppo di variabili, è necessario autorizzare il gruppo. Se si assegna solo un nome al gruppo di variabili in YAML, chiunque possa eseguire il push del codice nel repository potrebbe estrarre il contenuto dei segreti nel gruppo di variabili. Per autorizzare il gruppo, usare una delle tecniche seguenti:
Per autorizzare qualsiasi pipeline a usare il gruppo di variabili, passare ad Azure Pipelines. Questa potrebbe essere un'opzione valida se non si dispone di segreti nel gruppo. Selezionare Gruppi di variabili di libreria>e quindi selezionare il gruppo di variabili in questione e abilitare l'impostazione Consenti l'accesso a tutte le pipeline.
Per autorizzare un gruppo di variabili per una pipeline specifica, aprire la pipeline, selezionare Modifica e quindi accodare manualmente una compilazione. Viene visualizzato un errore di autorizzazione della risorsa e un'azione "Autorizza risorse" sull'errore. Scegliere questa azione per aggiungere in modo esplicito la pipeline come utente autorizzato del gruppo di variabili.
Nota
Se si aggiunge un gruppo di variabili a una pipeline e non viene visualizzato un errore di autorizzazione della risorsa nella compilazione quando ne è previsto uno, disattivare l'impostazione Consenti l'accesso a tutte le pipeline .
Accedere ai valori delle variabili in un gruppo di variabili collegate allo stesso modo delle variabili definite all'interno della pipeline stessa.
Ad esempio, per accedere al valore di una variabile denominata customer in un gruppo di variabili collegato alla pipeline, usare $(customer)
in un parametro di attività o in uno script. Tuttavia, non è possibile accedere alle variabili segrete (variabili crittografate e variabili dell'insieme di credenziali delle chiavi) direttamente negli script, ma devono essere passate come argomenti a un'attività. Per altre informazioni, vedere Segreti
Le modifiche apportate a un gruppo di variabili sono automaticamente disponibili per tutte le definizioni o le fasi a cui viene collegato il gruppo di variabili.
Elencare i gruppi di variabili
Usare l'interfaccia della riga di comando per elencare i gruppi di variabili per le esecuzioni della pipeline con il comando az pipelines variable-group list . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group list [--action {manage, none, use}]
[--continuation-token]
[--group-name]
[--org]
[--project]
[--query-order {Asc, Desc}]
[--top]
Parametri facoltativi
- action: specifica l'azione che può essere eseguita sui gruppi di variabili. I valori accettati sono gestisci, nessuno e usano.
- continuation-token: elenca i gruppi di variabili dopo che viene fornito un token di continuazione.
- group-name: nome del gruppo di variabili. I caratteri jolly vengono accettati, ad esempio
new-var*
. - org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. - query-order: elenca i risultati in ordine crescente o decrescente (impostazione predefinita). I valori accettati sono Asc e Desc.
- top: numero di gruppi di variabili da elencare.
Esempio
Il comando seguente elenca i primi tre gruppi di variabili in ordine crescente e restituisce i risultati in formato tabella.
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
Visualizzare i dettagli per un gruppo di variabili
Visualizzare i dettagli di un gruppo di variabili nel progetto con il comando az pipelines variable-group show . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group show --group-id
[--org]
[--project]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
.
Esempio
Il comando seguente mostra i dettagli per il gruppo di variabili con ID 4 e restituisce i risultati in 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
Eliminare un gruppo di variabili
Eliminare un gruppo di variabili nel progetto con il comando az pipelines variable-group delete . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. - Sì: facoltativo. Indica che non è richiesta la conferma.
Esempio
Il comando seguente elimina il gruppo di variabili con ID 1 e non richiede la conferma.
az pipelines variable-group delete --group-id 1 --yes
Deleted variable group successfully.
Aggiungere variabili a un gruppo di variabili
Con l'interfaccia della riga di comando di Azure DevOps è possibile aggiungere una variabile a un gruppo di variabili in una pipeline con il comando az pipelines variable-group variable create . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- name: obbligatorio. Nome della variabile da aggiungere.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. - secret: facoltativo. Indica se il valore della variabile è un segreto. I valori accettati sono false e true.
- value: obbligatorio per la variabile non segreta. Valore della variabile. Per le variabili segrete, se il parametro value non viene specificato, viene selezionato dalla variabile di ambiente preceduta
AZURE_DEVOPS_EXT_PIPELINE_VAR_
da o all'utente viene richiesto di immetterlo tramite input standard. Ad esempio, una variabile denominata MySecret può essere input usando la variabileAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
di ambiente .
Esempio
Il comando seguente crea una variabile nel gruppo di variabili con ID 4. La nuova variabile è denominata requires-login e ha un valore True e il risultato viene visualizzato in formato tabella.
az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table
Name Is Secret Value
-------------- ----------- -------
requires-login False True
Elencare le variabili in un gruppo di variabili
È possibile elencare le variabili in un gruppo di variabili con il comando az pipelines variable-group variable list . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
.
Esempio
Il comando seguente elenca tutte le variabili nel gruppo di variabili con ID 4 e mostra il risultato in formato tabella.
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
Aggiornare le variabili in un gruppo di variabili
Aggiornare una variabile in un gruppo di variabili con il comando az pipelines variable-group variable update . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group variable update --group-id
--name
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--value]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- name: obbligatorio. Nome della variabile da aggiungere.
- new-name: facoltativo. Specificare per modificare il nome della variabile.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. - prompt-value: impostare su true per aggiornare il valore di una variabile privata usando la variabile di ambiente o la richiesta tramite input standard. I valori accettati sono false e true.
- secret: facoltativo. Indica se il valore della variabile viene mantenuto segreto. I valori accettati sono false e true.
- value: Aggiornamenti il valore della variabile. Per le variabili segrete, usare il parametro prompt-value da immettere tramite input standard. Per le console non interattive, è possibile selezionarla dalla variabile di ambiente preceduta
AZURE_DEVOPS_EXT_PIPELINE_VAR_
da . Ad esempio, una variabile denominata MySecret può essere input usando la variabileAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
di ambiente .
Esempio
Il comando seguente aggiorna la variabile requires-login con il nuovo valore False nel gruppo di variabili con ID 4. Specifica che la variabile è un segreto e mostra il risultato in formato YAML. Si noti che l'output mostra il valore come Null anziché False perché si tratta di un valore nascosto segreto.
az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml
requires-login:
isSecret: true
value: null
Eliminare variabili da un gruppo di variabili
Eliminare una variabile da un gruppo di variabili con il comando az pipelines variable-group variable delete . Se l'estensione Azure DevOps per l'interfaccia della riga di comando non è disponibile, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parametri
- group-id: obbligatorio. ID del gruppo di variabili. Per trovare l'ID gruppo di variabili, vedere Elencare i gruppi di variabili.
- name: obbligatorio. Nome della variabile che si sta eliminando.
- org: URL dell'organizzazione di Azure DevOps. Configurare l'organizzazione predefinita usando
az devops configure -d organization=ORG_URL
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. Esempio:--org https://dev.azure.com/MyOrganizationName/
. - project: nome o ID del progetto. Configurare il progetto predefinito usando
az devops configure -d project=NAME_OR_ID
. Obbligatorio se non è configurato come predefinito o prelevato tramitegit config
. - Sì: facoltativo. Indica che non è richiesta la conferma.
Esempio
Il comando seguente elimina la variabile requires-login dal gruppo di variabili con ID 4 e richiede la conferma.
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.
Collegare i segreti da Azure Key Vault
Nota
Gli insiemi di credenziali delle chiavi che usano il controllo degli accessi in base al ruolo di Azure non sono supportati.
Collegare un insieme di credenziali delle chiavi di Azure esistente a un gruppo di variabili ed eseguire il mapping dei segreti dell'insieme di credenziali selettivi al gruppo di variabili.
Nella pagina Gruppi di variabili abilitare Collega segreti da un insieme di credenziali delle chiavi di Azure come variabili. Sarà necessario un insieme di credenziali delle chiavi esistente contenente i segreti. Creare un insieme di credenziali delle chiavi usando il portale di Azure.
Specificare l'endpoint della sottoscrizione di Azure e il nome dell'insieme di credenziali contenente i segreti.
Verificare che la connessione al servizio di Azure disponga almeno delle autorizzazioni di gestione Get e List nell'insieme di credenziali per i segreti. Abilitare Azure Pipelines per impostare queste autorizzazioni scegliendo Autorizza accanto al nome dell'insieme di credenziali. In alternativa, impostare manualmente le autorizzazioni nel portale di Azure:
- Aprire Impostazioni per l'insieme di credenziali e quindi scegliere Criteri di accesso>Aggiungi nuovo.
- Selezionare Seleziona entità e quindi scegliere l'entità servizio per l'account client.
- Selezionare Autorizzazioni segrete e assicurarsi che Get e List dispongano di segni di spunta.
- Selezionare OK per salvare le modifiche.
Nella pagina Gruppi di variabili selezionare + Aggiungi per selezionare segreti specifici dall'insieme di credenziali per il mapping a questo gruppo di variabili.
Gestire i segreti dell'insieme di credenziali delle chiavi
Vedere l'elenco seguente di suggerimenti utili per la gestione dei segreti.
Solo i nomi dei segreti vengono mappati al gruppo di variabili, non ai valori dei segreti. Il valore del segreto più recente, recuperato dall'insieme di credenziali, viene usato nell'esecuzione della pipeline collegata al gruppo di variabili.
Tutte le modifiche apportate ai segreti esistenti nell'insieme di credenziali delle chiavi sono automaticamente disponibili per tutte le pipeline in cui viene usato il gruppo di variabili.
Quando i nuovi segreti vengono aggiunti o eliminati dall'insieme di credenziali, i gruppi di variabili associati non vengono aggiornati automaticamente. I segreti inclusi nel gruppo di variabili devono essere aggiornati in modo esplicito in modo che le pipeline che usano il gruppo di variabili vengano eseguite correttamente.
Azure Key Vault supporta l'archiviazione e la gestione di chiavi crittografiche e segreti in Azure. Attualmente, l'integrazione dei gruppi di variabili di Azure Pipelines supporta il mapping solo dei segreti dell'insieme di credenziali delle chiavi di Azure. Le chiavi crittografiche e i certificati non sono supportati.
Espandere le variabili in un gruppo
Quando si imposta una variabile in un gruppo e la si usa in un file YAML, è uguale ad altre variabili definite nel file YAML. Per altre informazioni sulla precedenza delle variabili, vedere Variabili.
Articoli correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per