Gestire gruppi di variabili

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Questo articolo illustra come creare e usare gruppi di variabili in Azure Pipelines. I gruppi di variabili archiviano valori e segreti che è possibile passare in una pipeline YAML o rendere disponibili tra più pipeline in un 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 nonsecret non è limitato dalle approvazioni, dai controlli o dalle autorizzazioni della pipeline.

I gruppi di variabili seguono il modello di sicurezza della libreria per ruoli e autorizzazioni.

Creare un gruppo di variabili

È possibile creare gruppi di variabili per le esecuzioni della pipeline nel progetto.

Nota

Per creare un gruppo di variabili segrete per collegare segreti da un insieme di credenziali delle chiavi di Azure come variabili, seguire le istruzioni in Collegare segreti da un insieme di credenziali delle chiavi di Azure.

È possibile creare un gruppo di variabili nell'interfaccia utente di Azure Pipelines.

Prerequisiti

Un'organizzazione e un progetto di Azure DevOps in cui si hanno le autorizzazioni per creare pipeline e variabili.

Creare il gruppo di variabili

  1. Nel progetto Azure DevOps selezionare Libreria pipeline>dal menu a sinistra.

  2. Nella pagina Libreria selezionare + Gruppo di variabili.

    Screenshot della schermata Libreria e del pulsante Aggiungi gruppo di variabili.

  3. Nella pagina nuovo gruppo di variabili, in Proprietà immettere un nome e una descrizione facoltativa per il gruppo di variabili.

  4. In Variabili selezionare + Aggiungi e quindi immettere un nome e un valore di variabile da includere nel gruppo. Se si vuole crittografare e archiviare in modo sicuro il valore, selezionare l'icona di blocco accanto alla variabile.

  5. Selezionare + Aggiungi per aggiungere ogni nuova variabile. Al termine dell'aggiunta di variabili, selezionare Salva.

    Screenshot della configurazione e del salvataggio di un gruppo di variabili.

È ora possibile usare questo gruppo di variabili nelle pipeline di progetto.

È possibile creare un gruppo di variabili che si collega a un insieme di credenziali delle chiavi di Azure esistente ed eseguire il mapping dei segreti selezionati di Key Vault al gruppo di variabili. Solo i nomi dei segreti vengono mappati al gruppo di variabili, non ai valori dei segreti. La pipeline esegue il collegamento al gruppo di variabili recupera i valori dei segreti più recenti dall'insieme di credenziali.

Tutte le modifiche apportate ai segreti esistenti nell'insieme di credenziali delle chiavi sono automaticamente disponibili per tutte le pipeline che usano il gruppo di variabili. Tuttavia, se i segreti vengono aggiunti o eliminati dall'insieme di credenziali, i gruppi di variabili associati non vengono aggiornati automaticamente. È necessario aggiornare in modo esplicito i segreti da includere nel gruppo di variabili.

Sebbene Key Vault supporti l'archiviazione e la gestione di chiavi crittografiche e certificati in Azure, l'integrazione dei gruppi di variabili di Azure Pipelines supporta solo il mapping dei segreti dell'insieme di credenziali delle chiavi. Le chiavi crittografiche e i certificati non sono supportati.

Nota

Gli insiemi di credenziali delle chiavi che usano il controllo degli accessi in base al ruolo di Azure non sono supportati.

Prerequisiti

  • Insieme di credenziali delle chiavi di Azure che contiene i segreti. È possibile creare un insieme di credenziali delle chiavi usando il portale di Azure.
  • Una connessione al servizio di Azure per il progetto.

Creare il gruppo di variabili

  1. Nel progetto Azure DevOps selezionare Pipelines>Library+ Variable group (Libreria> pipeline+ gruppo di variabili).
  2. Nella pagina Gruppi di variabili immettere un nome e una descrizione facoltativa per il gruppo di variabili.
  3. Abilitare l'interruttore Collega segreti da un insieme di credenziali delle chiavi di Azure come variabili .
  4. Selezionare l'endpoint della sottoscrizione di Azure e il nome dell'insieme di credenziali delle chiavi.
  5. Abilitare Azure DevOps per accedere all'insieme di credenziali delle chiavi selezionando Autorizza accanto al nome dell'insieme di credenziali.
  6. Nella schermata Scegli segreti selezionare segreti specifici dall'insieme di credenziali per il mapping a questo gruppo di variabili e quindi selezionare OK.
  7. Selezionare Salva per salvare il gruppo di variabili segrete.

Screenshot del gruppo di variabili con l'integrazione dell'insieme di credenziali delle chiavi di Azure.

Nota

La connessione al servizio di Azure deve avere almeno le autorizzazioni Get ed List per l'insieme di credenziali delle chiavi, che è possibile autorizzare nei passaggi precedenti. È anche possibile fornire queste autorizzazioni dal portale di Azure seguendo questa procedura:

  1. Aprire Impostazioni per l'insieme di credenziali delle chiavi e quindi scegliere Configurazione di accesso>Vai ai criteri di accesso.
  2. Nella pagina Criteri di accesso , se il progetto di Azure Pipelines non è elencato in Applicazioni con almeno autorizzazioni Get ed List , selezionare Crea.
  3. In Autorizzazioni segrete selezionare Recupera ed Elenco e quindi selezionare Avanti.
  4. Selezionare l'entità servizio e quindi selezionare Avanti.
  5. Selezionare di nuovo Avanti , rivedere le impostazioni e quindi selezionare Crea.

Per ulteriori informazioni, vedere Utilizzare i segreti di Azure Key Vault.

Aggiornare i gruppi di variabili

È possibile aggiornare i gruppi di variabili usando l'interfaccia utente di Azure Pipelines.

  1. Nel progetto Azure DevOps selezionare Libreria pipeline>dal menu a sinistra.
  2. Nella pagina Libreria selezionare il gruppo di variabili da aggiornare. È anche possibile passare il puntatore del mouse sull'elenco dei gruppi di variabili, selezionare l'icona Altre opzioni e selezionare Modifica dal menu.
  3. Nella pagina del gruppo di variabili modificare una delle proprietà e quindi selezionare Salva.

Eliminare un gruppo di variabili

È possibile eliminare gruppi di variabili nell'interfaccia utente di Azure Pipelines.

  1. Nel progetto Azure DevOps selezionare Libreria pipeline>dal menu a sinistra.
  2. Nella pagina Libreria passare il puntatore del mouse sul gruppo di variabili da eliminare e selezionare l'icona Altre opzioni.
  3. Selezionare Elimina dal menu e quindi selezionare Elimina nella schermata di conferma.

Gestire le variabili nei gruppi di variabili

È possibile modificare, aggiungere o eliminare variabili nei gruppi di variabili usando l'interfaccia utente di Azure Pipelines.

  1. Nel progetto Azure DevOps selezionare Libreria pipeline>dal menu a sinistra.
  2. Nella pagina Libreria selezionare il gruppo di variabili da aggiornare. È anche possibile passare il puntatore del mouse sull'elenco dei gruppi di variabili, selezionare l'icona Altre opzioni e selezionare Modifica dal menu.
  3. Nella pagina del gruppo di variabili è possibile:
    • Modificare uno dei nomi o dei valori delle variabili.
    • Eliminare una delle variabili selezionando l'icona Garbage Can accanto al nome della variabile.
    • Modificare le variabili in segreto o nonsecret selezionando l'icona di blocco accanto al valore della variabile.
    • Aggiungere nuove variabili selezionando + Aggiungi.
  4. Dopo aver apportato modifiche, selezionare Salva.

Usare gruppi di variabili nelle pipeline

È possibile usare gruppi di variabili nelle pipeline YAML o classiche. Le modifiche apportate a un gruppo di variabili sono automaticamente disponibili per tutte le definizioni o le fasi a cui è collegato il gruppo di variabili.

Usare gruppi di variabili nelle pipeline YAML

Dopo aver autorizzato una pipeline YAML a usare un gruppo di variabili, è possibile usare il gruppo di variabili o le variabili all'interno della pipeline.

Autorizzare la pipeline YAML a usare il gruppo di variabili

Se si assegna solo un nome al gruppo di variabili nelle pipeline YAML, chiunque possa eseguire il push del codice nel repository potrebbe estrarre il contenuto dei segreti nel gruppo di variabili. Pertanto, per usare un gruppo di variabili con pipeline YAML, è necessario autorizzare la pipeline a usare il gruppo. Le pipeline classiche possono usare gruppi di variabili senza autorizzazione separata.

È possibile autorizzare le pipeline a usare i gruppi di variabili usando l'interfaccia utente di Azure Pipelines.

  1. Nel progetto Azure DevOps selezionare Libreria pipeline>dal menu a sinistra.
  2. Nella pagina Libreria selezionare il gruppo di variabili da autorizzare.
  3. Nella pagina gruppo di variabili selezionare la scheda Autorizzazioni pipeline .
  4. Nella schermata Autorizzazioni pipeline selezionare + e quindi selezionare una pipeline da autorizzare. In alternativa, selezionare l'icona Altre azioni , selezionare Apri accesso e selezionare di nuovo Apri accesso per confermare.

Se si seleziona una pipeline, tale pipeline viene autorizzata a usare il gruppo di variabili. Per autorizzare un'altra pipeline, selezionare di nuovo l'icona + . Se si seleziona Apri accesso , tutte le pipeline di progetto vengono autorizzate a usare il gruppo di variabili. L'accesso aperto potrebbe essere un'opzione valida se non si dispone di segreti nel gruppo.

Un altro modo per autorizzare un gruppo di variabili consiste nel selezionare la pipeline, selezionare Modifica e quindi accodare manualmente una compilazione. Viene visualizzato un errore di autorizzazione della risorsa e quindi è possibile aggiungere in modo esplicito la pipeline come utente autorizzato del gruppo di variabili.

Usare il gruppo di variabili nella pipeline YAML

Per usare una variabile da un gruppo di variabili, aggiungere un riferimento al nome del gruppo nel file della pipeline YAML. È quindi possibile usare le variabili del gruppo di variabili nel file.

variables:
- group: my-variable-group

È possibile fare riferimento a più gruppi di variabili nella stessa pipeline. Se più gruppi di variabili includono la stessa variabile, l'ultimo gruppo di variabili che usa la variabile nel file imposta il valore della variabile. Per altre informazioni sulla precedenza delle variabili, vedere Espansione delle variabili.

È anche possibile fare riferimento a un gruppo di variabili in un modello. Il file modello di variables.yml seguente fa riferimento al gruppo my-variable-groupdi variabili . Il gruppo di variabili include una variabile denominata myhello.

variables:
- group: my-variable-group

La pipeline YAML fa riferimento al modello di variables.yml e usa la variabile $(myhello) del gruppo my-variable-groupdi variabili .

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

Usare variabili di gruppo di variabili nelle pipeline YAML

È possibile accedere ai valori delle variabili in un gruppo di variabili collegate allo stesso modo in cui si accede alle variabili definite all'interno della pipeline. Ad esempio, per accedere al valore di una variabile denominata customer in un gruppo di variabili collegato alla pipeline, è possibile usare $(customer) in un parametro di attività o in uno script.

Se si usano sia variabili autonome che gruppi di variabili nel file della pipeline, usare la name-value sintassi per le variabili autonome.

variables:
- group: my-variable-group
- name: my-standalone-variable
  value: 'my-standalone-variable-value'

Per fare riferimento a una variabile in un gruppo di variabili, è possibile usare la sintassi macro o un'espressione di runtime. Negli esempi seguenti il gruppo my-variable-group ha una variabile denominata myhello.

Per usare un'espressione di runtime:

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello]
- script: echo $(my-passed-variable)

Per usare la sintassi delle macro:

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

Non è possibile accedere alle variabili segrete, incluse le variabili crittografate e le variabili dell'insieme di credenziali delle chiavi, direttamente negli script. È necessario passare queste variabili come argomenti a un'attività. Per altre informazioni, vedere Variabili segrete.

Usare gruppi di variabili nelle pipeline classiche

Le pipeline classiche possono usare gruppi di variabili senza autorizzazione separata. Per usare un gruppo di variabili:

  1. Aprire la pipeline classica.

  2. Selezionare Variabili gruppi>di variabili e quindi selezionare Collega gruppo di variabili.

  3. In una pipeline di compilazione viene visualizzato un elenco di gruppi disponibili. Collegare un gruppo di variabili alla pipeline. Tutte le variabili nel gruppo sono disponibili per l'uso all'interno della pipeline.

    In una pipeline di versione viene visualizzato anche un elenco a discesa delle fasi nella pipeline. Collegare il gruppo di variabili alla pipeline stessa o a una o più fasi specifiche della pipeline di versione. Se si esegue il collegamento a una o più fasi, le variabili del gruppo di variabili hanno come ambito queste fasi e non sono accessibili nelle altre fasi della versione.

    Screenshot che mostra il collegamento di un gruppo di variabili.

Quando si imposta una variabile con lo stesso nome in più ambiti, viene usata la precedenza seguente, prima più alta:

  1. Variabile impostata nel tempo di attesa
  2. Set di variabili nella pipeline
  3. Variabile impostata nel gruppo di variabili

Per altre informazioni sulla precedenza delle variabili, vedere Espansione delle variabili.

Nota

Le variabili in gruppi diversi collegati a una pipeline nello stesso ambito (ad esempio, processo o fase) si scontrano e il risultato può essere imprevedibile. Assicurarsi di usare nomi diversi per le variabili in tutti i gruppi di variabili.