Creare e gestire pool di agenti

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

Un pool di agenti è una raccolta di agenti. Invece di gestire ogni agente singolarmente, è possibile organizzare gli agenti in pool di agenti. Quando si configura un agente, viene registrato con un singolo pool e, quando si crea una pipeline, si specifica il pool in cui viene eseguita la pipeline. Quando si esegue la pipeline, viene eseguita su un agente da tale pool che soddisfa le esigenze della pipeline.

In Azure Pipelines i pool hanno come ambito l'intera organizzazione; in modo da poter condividere i computer agente tra progetti.

In Azure DevOps Server i pool di agenti hanno come ambito l'intero server; è quindi possibile condividere i computer dell'agente tra progetti e raccolte.

Nota

I processi del pool di agenti eseguono un processo in un singolo agente. Se è necessario eseguire un processo in tutti gli agenti, ad esempio un gruppo di distribuzione per le pipeline di versione classiche, vedere Effettuare il provisioning dei gruppi di distribuzione.

Gli amministratori dell'organizzazione creano e gestiscono i pool di agenti dalla scheda Pool di agenti nelle impostazioni di amministrazione.

  1. Accedere all'organizzazione (https://dev.azure.com/{yourorganization}).

  2. Scegliere Azure DevOps, Impostazioni organizzazione.

    Scegliere Impostazioni organizzazione.

  3. Scegliere Pool di agenti.

    Scegliere la scheda Pool di agenti.

  1. Accedere alla raccolta di progetti (http://your-server/DefaultCollection).

  2. Scegliere Azure DevOps, Impostazioni raccolta.

    Scegliere Impostazioni raccolta.

  3. Scegliere Pool di agenti.

    Scegliere Pool di agenti.

  1. Scegliere Azure DevOps, Impostazioni raccolta.

    Impostazioni raccolta, 2019.

  2. Scegliere Pool di agenti.

    Scegliere Pool di agenti, 2019.

Se si è membri del team di progetto, creare e gestire i pool di agenti dalla scheda Pool di agenti nelle impostazioni del progetto.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti (2020).

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti (2019).

Pool di agenti predefiniti

Per impostazione predefinita, vengono forniti i pool di agenti seguenti:

  • Pool predefinito : usarlo per registrare gli agenti self-hosted configurati.
  • Pool ospitato di Azure Pipelines con varie immagini Windows, Linux e macOS. Per un elenco completo delle immagini disponibili e del relativo software installato, vedere Agenti ospitati da Microsoft.

    Nota

    Il pool ospitato di Azure Pipelines sostituisce i pool ospitati precedenti con nomi mappati alle immagini corrispondenti. Tutti i processi presenti nei pool ospitati precedenti vengono reindirizzati automaticamente all'immagine corretta nel nuovo pool ospitato di Azure Pipelines. In alcune circostanze, è comunque possibile visualizzare i nomi dei pool precedenti, ma in background i processi ospitati vengono eseguiti usando il pool di Azure Pipelines. Per altre informazioni, vedere le note sulla versione del pool ospitato singolo dalle note sulla versione del 1° luglio 2019 - Sprint 154.

Per impostazione predefinita, tutti i collaboratori di un progetto sono membri del ruolo Utente nei pool ospitati. Ciò consente a ogni collaboratore di un progetto di creare ed eseguire pipeline usando agenti ospitati da Microsoft.

Designare un pool nella pipeline

Per scegliere un agente ospitato da Microsoft dal pool di Azure Pipelines nella pipeline YAML di Azure DevOps Services, specificare il nome dell'immagine usando l'etichetta dell'immagine della macchina virtuale YAML da questa tabella.

pool:
  vmImage: ubuntu-latest # This is the default if you don't specify a pool or vmImage.

Per usare un pool privato senza richieste:

pool: MyPool

Per altre informazioni, vedere lo schema YAML per i pool.

Gestire pool e code

Gli amministratori dell'organizzazione creano e gestiscono i pool di agenti dalla scheda Pool di agenti nelle impostazioni di amministrazione.

  1. Accedere all'organizzazione (https://dev.azure.com/{yourorganization}).

  2. Scegliere Azure DevOps, Impostazioni organizzazione.

    Scegliere Impostazioni organizzazione.

  3. Scegliere Pool di agenti.

    Scegliere la scheda Pool di agenti.

  1. Accedere alla raccolta di progetti (http://your-server/DefaultCollection).

  2. Scegliere Azure DevOps, Impostazioni raccolta.

    Scegliere Impostazioni raccolta.

  3. Scegliere Pool di agenti.

    Scegliere Pool di agenti.

  1. Scegliere Azure DevOps, Impostazioni raccolta.

    Impostazioni raccolta, 2019.

  2. Scegliere Pool di agenti.

    Scegliere Pool di agenti, 2019.

Se si è membri del team di progetto, creare e gestire i pool di agenti dalla scheda Pool di agenti nelle impostazioni del progetto.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti (2020).

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti.

Passare al progetto e scegliere Impostazioni progetto, Pool di agenti (2019).

I pool vengono usati per eseguire processi. Informazioni sulla specifica dei pool per i processi.

Se sono disponibili molti agenti self-hosted destinati a team o scopi diversi, è possibile creare pool aggiuntivi, come illustrato di seguito.

Creare pool di agenti

Ecco alcune situazioni tipiche in cui è possibile creare pool di agenti self-hosted:

  • Si è membri di un progetto e si vuole usare un set di computer di proprietà del team per l'esecuzione di processi di compilazione e distribuzione. Prima di tutto, assicurarsi di avere le autorizzazioni per creare pool nel progetto selezionando Sicurezza nella pagina Pool di agenti nelle impostazioni di Project. Per poter creare nuovi pool, è necessario disporre del ruolo Amministrazione istrator. Selezionare quindi Aggiungi pool e selezionare l'opzione per creare un nuovo pool. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si è membri del team dell'infrastruttura e si vuole configurare un pool di agenti da usare in tutti i progetti. Prima di tutto, assicurarsi di avere le autorizzazioni per creare pool nel progetto selezionando Sicurezza nella pagina pool di agenti nelle impostazioni organizzazione. Creare quindi un nuovo pool di agenti e selezionare l'opzione Provisioning automatico di questo pool di agenti in tutti i progetti durante la creazione del pool. Questa impostazione garantisce che tutti i progetti abbiano accesso a questo pool di agenti. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si vuole condividere un set di computer agenti con più progetti, ma non tutti. Passare prima di tutto alle impostazioni per uno dei progetti, aggiungere un pool di agenti e selezionare l'opzione per creare un nuovo pool a livello di organizzazione. Passare quindi a ognuno degli altri progetti e creare un pool in ognuno di essi selezionando l'opzione Usa un pool di agenti esistente dall'organizzazione. Infine, installare e configurare gli agenti come parte del pool di agenti condivisi.

  • Si è membri di un progetto e si vuole usare un set di computer di proprietà del team per l'esecuzione di processi di compilazione e distribuzione. Prima di tutto, assicurarsi di avere le autorizzazioni per creare pool nel progetto selezionando Sicurezza nella pagina Pool di agenti nelle impostazioni di Project. Per poter creare nuovi pool, è necessario disporre del ruolo Amministrazione istrator. Selezionare quindi Aggiungi pool e selezionare l'opzione per creare un nuovo pool. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si è membri del team dell'infrastruttura e si vuole configurare un pool di agenti da usare in tutti i progetti. Prima di tutto, assicurarsi di avere le autorizzazioni per creare pool nel progetto selezionando Sicurezza nella pagina Pool di agenti nelle impostazioni della raccolta di Progetti. Creare quindi un nuovo pool di agenti e selezionare l'opzione Provisioning automatico di questo pool di agenti in tutti i progetti durante la creazione del pool. Questa impostazione garantisce che tutti i progetti abbiano accesso a questo pool di agenti. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si vuole condividere un set di computer agenti con più progetti, ma non tutti. Passare prima di tutto alle impostazioni per uno dei progetti, aggiungere un pool di agenti e selezionare l'opzione per creare un nuovo pool a livello di organizzazione. Passare quindi a ognuno degli altri progetti e creare un pool in ognuno di essi selezionando l'opzione Usa un pool di agenti esistente dall'organizzazione. Infine, installare e configurare gli agenti come parte del pool di agenti condivisi.

  • Si è membri di un progetto e si vuole usare un set di computer di proprietà del team per l'esecuzione di processi di compilazione e distribuzione. Assicurarsi prima di tutto di essere membri di un gruppo in Tutti i pool con il ruolo Amministrazione istrator. Creare quindi un nuovo pool di agenti di progetto nelle impostazioni del progetto e selezionare l'opzione Crea un nuovo pool di agenti dell'organizzazione. Verrà creato un pool di agenti sia a livello di progetto sia a livello di organizzazione. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si è membri del team dell'infrastruttura e si vuole configurare un pool di agenti da usare in tutti i progetti. Assicurarsi prima di tutto di essere membri di un gruppo in Tutti i pool con il ruolo Amministrazione istrator. Creare quindi un nuovo pool di agenti dell'organizzazione nelle impostazioni di amministrazione e selezionare l'opzione Provisioning automatico dei pool di agenti di progetto corrispondenti in tutti i progetti durante la creazione del pool. Questa impostazione fa sì che tutti i progetti abbiano un pool che punta al pool di agenti dell'organizzazione. Il sistema crea un pool per i progetti esistenti e in futuro lo farà ogni volta che viene creato un nuovo progetto. Installare e configurare infine gli agenti in modo che facciano parte di tale pool di agenti.

  • Si vuole condividere un set di computer agenti con più progetti, ma non tutti. Creare prima di tutto un pool di agenti di progetto in uno dei progetti e selezionare l'opzione Crea un nuovo pool di agenti dell'organizzazione durante la creazione di tale pool. Passare quindi a ognuno degli altri progetti e creare un pool in ognuno di essi selezionando l'opzione Usa un pool di agenti dell'organizzazione esistente. Infine, installare e configurare gli agenti come parte del pool di agenti condivisi.

Sicurezza dei pool di agenti

Comprendere il funzionamento della sicurezza dei pool di agenti consente di controllarne la condivisione e l'uso.

I ruoli vengono definiti in ogni pool di agenti e l'appartenenza a questi ruoli determina le operazioni che è possibile eseguire in un pool di agenti.

Impostazioni di sicurezza a livello di organizzazione

Ruolo in un pool di agenti nelle impostazioni dell'organizzazione Scopo
Lettore I membri di questo ruolo possono visualizzare il pool di agenti e gli agenti. In genere si usa questa opzione per aggiungere operatori responsabili del monitoraggio degli agenti e della relativa integrità.
Account di servizio I membri di questo ruolo possono usare il pool di agenti dell'organizzazione per creare un pool di agenti di progetto in un progetto. Se si seguono le linee guida precedenti per la creazione di nuovi pool di agenti di progetto, in genere non è necessario aggiungere membri qui.
Amministratore Oltre a tutte le autorizzazioni precedenti, i membri di questo ruolo possono registrare o annullare la registrazione degli agenti dal pool di agenti dell'organizzazione. Possono anche fare riferimento al pool di agenti dell'organizzazione durante la creazione di un pool di agenti di progetto in un progetto. Infine, possono anche gestire l'appartenenza per tutti i ruoli del pool di agenti dell'organizzazione. L'utente che ha creato il pool di agenti dell'organizzazione viene aggiunto automaticamente al ruolo Amministrazione istrator per tale pool.

Il nodo Tutti i pool di agenti nella scheda Pool di agenti viene usato per controllare la sicurezza di tutti i pool di agenti dell'organizzazione. Le appartenenze ai ruoli per i singoli pool di agenti dell'organizzazione vengono ereditate automaticamente da quelle del nodo "Tutti i pool di agenti". Per impostazione predefinita, gli amministratori di TFS e Azure DevOps Server sono amministratori del nodo "Tutti i pool di agenti" quando si usano TFS o Azure DevOps Server.

Impostazioni di sicurezza a livello di progetto

I ruoli vengono definiti anche in ogni pool di agenti di progetto e le appartenenze in questi ruoli determinano le operazioni che è possibile eseguire in un pool di agenti a livello di progetto.

Ruolo in un pool di agenti nelle impostazioni del progetto Scopo
Lettore I membri di questo ruolo possono visualizzare il pool di agenti del progetto. In genere viene usato per aggiungere operatori responsabili del monitoraggio dei processi di compilazione e distribuzione in tale pool di agenti di progetto.
User I membri di questo ruolo possono usare il pool di agenti del progetto durante la creazione di pipeline.
Amministratore Oltre a tutte le operazioni precedenti, i membri di questo ruolo possono gestire l'appartenenza per tutti i ruoli del pool di agenti del progetto. L'utente che ha creato il pool viene aggiunto automaticamente al ruolo Amministratore per tale pool.

Autorizzazioni della pipeline

Le autorizzazioni della pipeline controllano quali pipeline YAML sono autorizzate a usare un pool di agenti. Le autorizzazioni della pipeline non limitano l'accesso dalle pipeline classiche.

Puoi scegliere tra le opzioni seguenti:

  • Aprire l'accesso per tutte le pipeline per usare il pool di agenti dalle altre opzioni nell'angolo superiore destro della sezione Autorizzazioni pipeline nella scheda sicurezza di un pool di agenti.

  • Bloccare il pool di agenti e consentire solo le pipeline YAML selezionate per usarlo. Se qualsiasi altra pipeline YAML fa riferimento al pool di agenti, viene generata una richiesta di autorizzazione, che deve essere approvata da un amministratore del pool di agenti. Questo non limita l'accesso dalle pipeline classiche.

Screenshot dell'esperienza utente delle autorizzazioni della pipeline per un pool di agenti.

Non è possibile configurare le autorizzazioni della pipeline per il pool di agenti di Azure Pipelines , perché il pool è accessibile, per impostazione predefinita, a tutte le pipeline.

Il nodo Tutti i pool di agenti nella scheda Pool di agenti viene usato per controllare la sicurezza di tutti i pool di agenti di progetto in un progetto. Le appartenenze ai ruoli per i singoli pool di agenti di progetto vengono ereditate automaticamente da quelle del nodo "Tutti i pool di agenti". Per impostazione predefinita, i gruppi seguenti vengono aggiunti al ruolo Amministratore di "Tutti i pool di agenti": Amministratori di compilazione, Amministratori di versione, Amministratori di progetto.

L'azione Sicurezza nella scheda Pool di agenti viene usata per controllare la sicurezza di tutti i pool di agenti di progetto in un progetto. Le appartenenze ai ruoli per i singoli pool di agenti del progetto vengono ereditate automaticamente da ciò che si definisce qui. Per impostazione predefinita, i gruppi seguenti vengono aggiunti al ruolo Amministratore di "Tutti i pool di agenti": Amministratori di compilazione, Amministratori di versione, Amministratori di progetto.

Domande frequenti

Se non si pianifica una finestra di manutenzione, quando gli agenti eseguono la manutenzione?

Se non è pianificata alcuna finestra, gli agenti in tale pool non eseguiranno il processo di manutenzione.

Che cos'è un processo di manutenzione?

È possibile configurare i pool di agenti per pulire periodicamente directory e repository di lavoro non aggiornati. Ciò dovrebbe ridurre il rischio che gli agenti esauriscano lo spazio su disco. I processi di manutenzione vengono configurati a livello di organizzazione nelle impostazioni del pool di agenti.

Per configurare le impostazioni del processo di manutenzione:

  1. Accedere all'organizzazione (https://dev.azure.com/{yourorganization}).

  2. Scegliere Azure DevOps, Impostazioni organizzazione.

    Scegliere Impostazioni organizzazione.

  3. Scegliere Pool di agenti.

    Scegliere la scheda Pool di agenti.

  1. Accedere alla raccolta di progetti (http://your-server/DefaultCollection).

  2. Scegliere Azure DevOps, Impostazioni raccolta.

    Scegliere Impostazioni raccolta.

  3. Scegliere Pool di agenti.

    Scegliere Pool di agenti.

  1. Scegliere Azure DevOps, Impostazioni raccolta.

    Impostazioni raccolta, 2019.

  2. Scegliere Pool di agenti.

    Scegliere Pool di agenti, 2019.

Scegliere il pool desiderato e scegliere Impostazioni per configurare le impostazioni del processo di manutenzione per il pool di agenti.

Importante

È necessario disporre dell'autorizzazione Gestisci code di compilazione per configurare le impostazioni del processo di manutenzione. Se non viene visualizzata la scheda Impostazioni o la scheda Cronologia manutenzione, non si dispone di tale autorizzazione, che viene concessa per impostazione predefinita al ruolo Amministrazione istrator. Per altre informazioni, vedere Sicurezza dei pool di agenti.

Impostazioni del processo di manutenzione

Configurare le impostazioni desiderate e scegliere Salva.

Selezionare Cronologia manutenzione per visualizzare la cronologia dei processi di manutenzione per il pool di agenti corrente. È possibile scaricare ed esaminare i log per visualizzare i passaggi e le azioni di pulizia eseguiti.

Cronologia dei processi di manutenzione

La manutenzione viene eseguita per ogni pool di agenti, non per computer; pertanto, se si dispone di più pool di agenti in un singolo computer, è comunque possibile che si verifichino problemi di spazio su disco.

Il processo di manutenzione del pool di agenti self-hosted sembra bloccato. Perché?

In genere, un processo di manutenzione è "bloccato" quando è in attesa di essere eseguito su un agente che non si trova più nel pool di agenti. Ciò accade quando, ad esempio, l'agente viene portato offline in modo intenzionale o quando si verificano problemi di comunicazione con esso.

I processi di manutenzione accodati per l'esecuzione rimarranno in attesa per sette giorni, dopodiché verranno impostati automaticamente sullo stato non riuscito se non vengono eseguiti. Questo limite di tempo non può essere modificato.

Il limite di sette giorni è diverso dall'impostazione del timeout del processo di manutenzione. Quest'ultima controlla il numero massimo di minuti che un agente può impiegare per eseguire la manutenzione. Il timer viene avviato insieme al processo stesso, non quando il processo viene accodato su un agente.

Si sta tentando di creare un pool di agenti di progetto che usa un pool di agenti dell'organizzazione esistente, ma i controlli sono disattivati. Perché?

Nella finestra di dialogo "Crea un pool di agenti di progetto" non è possibile usare un pool di agenti dell'organizzazione esistente se fa già riferimento a un altro pool di agenti di progetto. A ogni pool di agenti dell'organizzazione può essere fatto riferimento da un solo pool di agenti di progetto all'interno di una determinata raccolta di progetti.

Non è possibile selezionare un pool ospitato da Microsoft e non è possibile accodare la compilazione. Com'è possibile risolvere il problema?

Chiedere al proprietario dell'organizzazione Azure DevOps di concedere l'autorizzazione per l'uso del pool. Vedere Sicurezza dei pool di agenti.

Sono necessarie altre risorse di compilazione ospitate. Cosa posso fare?

R: Il pool di Azure Pipelines offre a tutte le organizzazioni di Azure DevOps agenti di compilazione ospitati nel cloud e minuti di compilazione gratuiti ogni mese. Se sono necessarie più risorse di compilazione ospitate da Microsoft o se è necessario eseguire più processi in parallelo, è possibile: