Condividi tramite


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.

Prerequisiti

  • Un'organizzazione e un progetto di Azure DevOps Services in cui si dispone delle autorizzazioni per creare pipeline e variabili.
  • Un progetto nell'organizzazione di Azure DevOps o nella raccolta di Azure DevOps Server. Creare un progetto se non ne è disponibile uno.
  • Se si usa l'interfaccia della riga di comando di Azure DevOps, è necessaria l'interfaccia della riga di comando di Azure versione 2.30.0 o successiva con l'estensione dell'interfaccia della riga di comando di Azure DevOps. Per altre informazioni, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps.
  • Raccolta e progetto di Azure DevOps Server in cui si dispone delle autorizzazioni per creare pipeline e variabili.
  • Un progetto nell'organizzazione di Azure DevOps o nella raccolta di Azure DevOps Server. Creare un progetto se non ne è disponibile uno.

Configurare la CLI

Se si usa l'interfaccia della riga di comando di Azure DevOps, è necessario configurare l'interfaccia della riga di comando per lavorare con l'organizzazione e il progetto di Azure DevOps.

  1. Accedere all'organizzazione di Azure DevOps usando il comando az login .

    az login
    
  2. Se richiesto, selezionare la sottoscrizione dall'elenco visualizzato nella finestra del terminale.

  3. Assicurarsi di eseguire la versione più recente dell'interfaccia della riga di comando di Azure e dell'estensione Azure DevOps usando i comandi seguenti.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. Nei comandi dell'interfaccia della riga di comando di Azure DevOps è possibile impostare l'organizzazione e il progetto predefiniti usando:

    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    Se l'organizzazione e il progetto predefiniti non sono stati impostati, è possibile usare il detect=true parametro nei comandi per rilevare automaticamente l'organizzazione e il contesto del progetto in base alla directory corrente. Se le impostazioni predefinite non sono configurate o rilevate, è necessario specificare in modo esplicito i org parametri e project nei comandi.

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 un gruppo di variabili ai segreti in Azure Key Vault.

  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.

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.

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. È possibile autorizzare una pipeline a usare un gruppo di variabili nell'interfaccia utente di Azure Pipelines o usando l'interfaccia della riga di comando di Azure DevOps.

Autorizzazione tramite l'interfaccia utente pipeline

È 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.

Autorizzazione tramite l'interfaccia della riga di comando di Azure DevOps

In Azure DevOps Services è possibile autorizzare i gruppi di variabili usando l'interfaccia della riga di comando di Azure DevOps.

I comandi dell'interfaccia della riga di comando di Azure DevOps non sono supportati per Azure DevOps Server.

Per autorizzare tutte le pipeline di progetto a usare il gruppo di variabili, impostare il authorize parametro nel comando az pipelines variable-group create su true. Questo accesso aperto potrebbe essere un'opzione valida se non si dispone di segreti nel gruppo.

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

Per usare le variabili di un gruppo di variabili, aggiungere un riferimento al nome del gruppo nel file della pipeline YAML.

variables:
- group: my-variable-group

È possibile fare riferimento a più gruppi di variabili nella stessa pipeline. Se più gruppi di variabili includono le variabili con lo stesso nome, 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 le variabili in un gruppo di variabili collegate

È 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.