Configurare e pagare i processi paralleli

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Questo articolo descrive il modello di licenza per Azure Pipelines in Team Foundation Server 2017 (TFS 2017) o versione più recente. Non vengono addebitati costi per Team Foundation Build (TFBuild) purché si abbia una licenza CAL (Client Access License) TFS.

Un processo parallelo TFS consente di eseguire una singola versione alla volta in una raccolta di progetti. È possibile mantenere centinaia o persino migliaia di processi di rilascio nella raccolta. Tuttavia, per eseguire più di una versione alla volta, sono necessari processi paralleli aggiuntivi.

Un processo parallelo gratuito è incluso in ogni raccolta in un Team Foundation Server . Ogni Visual Studio Enterprise sottoscrittore in un Team Foundation Server contribuisce a un altro processo parallelo.

È possibile acquistare processi privati aggiuntivi da Visual Studio Marketplace. È previsto un limite massimo di 25 processi paralleli per gli agenti ospitati da Microsoft.

Importante

A partire Azure DevOps Server 2019, non è necessario pagare per i processi simultanei self-hosted nelle versioni. L'utente è limitato solo dal numero di agenti disponibili.

Informazioni su come stimare il numero di processi paralleli necessari e acquistare altri processi paralleli per l'organizzazione.

Nota

È stata temporaneamente disabilitata la concessione gratuita di processi paralleli per progetti pubblici e per determinati progetti privati in nuove organizzazioni. Tuttavia, è possibile richiedere questa concessione inviando una richiesta. Le organizzazioni e i progetti esistenti non sono interessati. Si noti che sono necessari 2-3 giorni lavorativi per rispondere alle richieste del livello gratuito.

Che cos'è un processo parallelo?

Quando si definisce una pipeline, è possibile definirla come raccolta di processi. Quando una pipeline viene eseguita, è possibile eseguire più processi come parte di tale pipeline. Ogni processo in esecuzione utilizza un processo parallelo eseguito in un agente. Quando non sono disponibili processi paralleli sufficienti per l'organizzazione, i processi vengono accodati ed eseguiti uno dopo l'altro.

In Azure Pipelines, è possibile eseguire processi paralleli nell'infrastruttura ospitata da Microsoft o nella propria infrastruttura (self-hosted). Ogni processo parallelo consente di eseguire un singolo processo alla volta nell'organizzazione. Non è necessario pagare per i processi paralleli se si usa un server locale. Il concetto di processi paralleli si applica solo Azure DevOps Services.

Processi paralleli ospitati da Microsoft e self-hosted

Se si desidera eseguire i processi nei computer gestiti da Microsoft, usare i processi paralleli ospitati da Microsoft. I processi verranno eseguiti in agenti ospitati da Microsoft.

Se si vuole Azure Pipelines le compilazioni e le versioni, ma usare i propri computer per eseguirle, usare processi paralleli self-hosted. Per i processi paralleli self-hosted, si inizierà distribuendo gli agenti self-hosted nei computer. Nell'organizzazione può essere registrato un numero qualsiasi di questi agenti self-hosted.

Quanto costano i processi paralleli?

Per impostazione predefinita, in ogni organizzazione viene fornito un livello di servizio gratuito per i processi paralleli ospitati e self-hosted. I processi in parallelo vengono acquistati a livello di organizzazione e vengono condivisi da tutti i progetti in un'organizzazione.

Per i processi paralleli ospitati da Microsoft, è possibile ottenere fino a 10 processi paralleli gratuiti ospitati da Microsoft che possono essere eseguiti fino a 360 minuti (6 ore) ogni volta per i progetti pubblici. Quando si crea una nuova organizzazione Azure DevOps, questa concessione gratuita non viene concessa per impostazione predefinita.

Per i progetti privati, è possibile ottenere un processo gratuito che può essere eseguito per un massimo di 60 minuti ogni volta. Quando si crea una nuova organizzazione Azure DevOps, questa concessione gratuita potrebbe non essere sempre concessa per impostazione predefinita.

Per richiedere la concessione gratuita per progetti pubblici o privati, inviare una richiesta.

Nota

Per rispondere alla richiesta di livello gratuito, sono necessari 2-3 giorni lavorativi.

Non esiste alcun limite di tempo per i processi paralleli per i progetti pubblici e un limite di 30 ore al mese per i progetti privati.

Numero di processi paralleli Limite tempo
Public project (Progetto pubblico) Fino a 10 processi paralleli gratuiti ospitati da Microsoft che possono essere eseguiti fino a 360 minuti (6 ore) ogni volta Nessun limite di tempo complessivo al mese
Progetto privato Un processo gratuito che può essere eseguito fino a 60 minuti ogni volta 1.800 minuti (30 ore) al mese

Quando il livello gratuito non è più sufficiente, è possibile pagare per capacità aggiuntiva per ogni processo parallelo. Per il costo dei prezzi per processo parallelo, vedere la Azure DevOps prezzi. I processi paralleli a pagamento rimuovono il limite di tempo mensile e consentono di eseguire ogni processo per un massimo di 360 minuti (6 ore).

Acquistare processi paralleli ospitati da Microsoft.

Quando si acquista il primo processo parallelo ospitato da Microsoft, il numero di processi paralleli disponibili nell'organizzazione è ancora uno. Per poter eseguire due processi contemporaneamente, è necessario acquistare due processi paralleli se si è attualmente nel livello gratuito. Il primo acquisto rimuove solo i limiti di tempo per il primo processo.

Suggerimento

Se la pipeline supera il timeout massimo del processo, provare a suddividere la pipeline in più processi. Per altre informazioni sui processi, vedere Specificare i processi nella pipeline.

Sono necessari processi paralleli in TFS 2015? Risposta breve: no. Altri dettagli

Quanti processi paralleli sono necessari?

Le code di compilazioni e rilasci si allungano man mano che il numero di compilazioni e rilasci in coda supera il numero di processi in parallelo disponibili. Quando i ritardi della coda sono troppo lunghi, si possono acquistare altri processi in parallelo in base alle esigenze. Esistono diversi metodi che è possibile usare per controllare i limiti dei processi paralleli e la cronologia dei processi.

Visualizzare la cronologia dei processi usando il report sull'utilizzo del pool

È possibile usare il report Utilizzo pool, disponibile nella scheda Analisi del pool di agenti, per visualizzare un grafico dei processi in esecuzione e in coda con i processi paralleli per i 30 giorni precedenti. Se si dispone di un backlog di processi in coda e i processi in esecuzione sono al limite di concorrenza, è possibile acquistare più processi paralleli. Per altre informazioni, vedere Report consumo pool.

Grafico cronologico del pool di agenti ospitato da Microsoft

Controllare direttamente l'impostazione dei processi paralleli

Per determinare il numero di processi paralleli necessari, vedere il numero di processi paralleli attualmente utilizzati dall'organizzazione:

  1. Passare a Impostazioni dell'organizzazione > Pipelines > conservazione e processi paralleli Processi > paralleli.

    Posizione dei processi paralleli nelle impostazioni dell'organizzazione.

    Esempio di URL: https://{your_organization}/_admin/_buildQueue?_a=resourceLimits

  2. Visualizzare il numero massimo di processi paralleli disponibili nell'organizzazione.

  3. Selezionare Visualizza processi in corso per visualizzare tutte le compilazioni e le versioni che utilizzano attivamente un processo parallelo disponibile o che sono in coda in attesa della disponibilità di un processo parallelo.

Stimare i costi

Una semplice regola generale: stimare che sarà necessario un processo parallelo ogni quattro-cinque utenti dell'organizzazione.

Negli scenari seguenti potrebbero essere necessari più processi paralleli:

  • Se si hanno più team e ognuno di essi richiede l'cio, è probabile che sia necessario un processo parallelo per ogni team.
  • Se il trigger CI si applica a più rami, è probabile che sia necessario un processo parallelo per ogni ramo attivo.
  • Se si sviluppano più applicazioni usando un'organizzazione o un server, è probabile che siano necessari processi paralleli aggiuntivi: uno per distribuire ogni applicazione contemporaneamente.

Ricerca per categorie acquistare altri processi paralleli?

Per acquistare altri processi paralleli:

Acquistare processi paralleli

Acquistare più processi paralleli all'interno delle impostazioni dell'organizzazione:

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

  2. Selezionare  l'icona a forma di ingranaggio Impostazioni organizzazione.

    Aprire le impostazioni dell'organizzazione

  3. Selezionare Processi paralleli in Pipelines e quindi selezionare Acquista processi paralleli per i processi ospitati da Microsoft o Modifica per i processi self-hosted.

    immagine di gestione dei processi paralleli

  4. Immettere l'importo desiderato e quindi salvare.

Per il costo dei prezzi per processo parallelo, vedere la Azure DevOps prezzi.

Ricerca per categorie la quantità di processi paralleli per l'organizzazione?

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

  2. Selezionare  l'icona a forma di ingranaggio Impostazioni organizzazione.

    Aprire le impostazioni dell'organizzazione

  3. Selezionare Processi paralleli in Pipelines e quindi selezionare Acquista processi paralleli o Modifica per i processi ospitati da Microsoft o Modifica per i processi self-hosted.

    immagine della gestione dei processi paralleli

  4. Immettere una quantità minore o maggiore di processi ospitati da Microsoft o self-hosted e quindi selezionare Salva.

Importante

Il controller di compilazione XAML ospitato non è supportato. Se si ha un'organizzazione in cui è necessario eseguire compilazioni XAML,configurare un server di compilazione locale e passare a un controller di compilazione locale. Per altre informazioni sul modello XAML ospitato, vedere Introduzione a XAML.

Come viene utilizzato un processo parallelo in DevOps Services?

Si consideri un'organizzazione con un solo processo parallelo ospitato da Microsoft. Questo processo consente agli utenti dell'organizzazione di eseguire collettivamente un solo processo alla volta. Quando vengono attivati altri processi, vengono accodati e attendono il completamento del processo precedente.

Se si usano pipeline di versione o YAML, un'esecuzione utilizza un processo parallelo solo quando viene distribuita attivamente in una fase. Mentre il rilascio è in attesa di un'approvazione o di un intervento manuale, non usa un processo parallelo.

Quando si esegue un processo server o si distribuisce in un gruppo di distribuzione usando pipeline di versione, non si usano processi paralleli.

Esempio semplice di processi paralleli

  1. FabrikamFiber CI Build 102 (main branch) inizia per primo.
  2. La distribuzione di FabrikamFiber Versione 11 viene attivata dal completamento di FabrikamFiber CI Build 102.
  3. FabrikamFiber CI Build 101 (feature branch) viene attivato. La compilazione non può ancora essere avviata perché la distribuzione della versione 11 è attiva. La compilazione rimane quindi in coda.
  4. La versione 11 attende le approvazioni. Fabrikam CI Build 101 viene avviato perché una versione in attesa di approvazioni non usa un processo parallelo.
  5. La versione 11 è approvata. Riprende solo dopo il completamento di Fabrikam CI Build 101.

Come viene utilizzato un processo parallelo?

Ad esempio, una raccolta in un Team Foundation Server ha un processo parallelo. Ciò consente agli utenti di tale raccolta di eseguire una sola versione alla volta. Quando vengono attivate altre versioni, vengono accodate e attenderanno il completamento della versione precedente.

Una versione richiede un processo parallelo solo quando viene distribuita attivamente in una fase. In attesa di un'approvazione non viene utilizzato un processo parallelo. Tuttavia, in attesa di un intervento manuale nel mezzo di una distribuzione viene utilizzato un processo parallelo.

Esempio semplice di processi paralleli

  1. FabrikamFiber versione 10 viene prima distribuito.
  2. La distribuzione di FabrikamFiber versione 11 viene avviata dopo il completamento della distribuzione della versione 10.
  3. La versione 12 viene accodata fino a quando la distribuzione della versione 11 non è attiva.
  4. La versione 11 attende un'approvazione. La distribuzione della versione 12 viene avviata perché una versione in attesa di approvazioni non usa un processo parallelo.
  5. Anche se la versione 11 è approvata, riprende solo dopo il completamento della distribuzione della versione 12.
  6. La versione 11 è in attesa dell'intervento manuale. La versione 13 non può essere avviata perché lo stato di intervento manuale utilizza un processo parallelo.

L'intervento manuale non usa un processo in TFS 2017.1 e versione più recente.

Elaborazione parallela all'interno di una singola versione

L'elaborazione parallela all'interno di una singola versione non richiede processi paralleli aggiuntivi. Se si dispone di un numero sufficiente di agenti, è possibile eseguire la distribuzione in più fasi di una versione contemporaneamente.

Si supponga, ad esempio, che la raccolta abbia tre processi paralleli. È possibile avere più di tre agenti in esecuzione contemporaneamente per eseguire operazioni parallele all'interno delle versioni. Si noti ad esempio di seguito che quattro o cinque agenti eseguono attivamente processi da tre processi paralleli.

Esempio di processi paralleli con agenti aggiuntivi

Processi paralleli in un'organizzazione

Ad esempio, ecco un'organizzazione con più Team Foundation Server. Due utenti hanno sottoscrizioni Visual Studio Enterprise che possono usare contemporaneamente in tutti i server locali e in ogni raccolta, purché il cliente le abiliti come utenti a entrambi i server, come illustrato di seguito.

Esempio di processi paralleli in un'organizzazione

Determinare il numero di processi paralleli necessari

È possibile iniziare verificando se i team possono ottenere con i processi paralleli disponibili per impostazione predefinita. Poiché il numero di versioni in coda supera il numero di processi paralleli disponibili, le code di rilascio aumentano più a lungo. Quando i ritardi della coda sono troppo lunghi, si possono acquistare altri processi in parallelo in base alle esigenze.

Stima semplice

Una semplice regola generale: stimare che sarà necessario un processo parallelo per ogni 10 utenti nel server.

Stima dettagliata

Negli scenari seguenti potrebbero essere necessari più processi paralleli:

  • Se sono presenti più team, se ognuno di essi richiede una compilazione CI e se ognuna delle build ci è configurata per attivare una versione, è probabile che sia necessario un processo parallelo per ogni team.

  • Se si sviluppano più applicazioni in un'unica raccolta, è probabile che siano necessari processi paralleli aggiuntivi: uno per distribuire ogni applicazione contemporaneamente.

Usare il vantaggio Visual Studio Enterprise sottoscrizione

Gli utenti con Visual Studio Enterprise sottoscrizioni vengono assegnati al livello VS Enterprise di accesso nell'hub Utenti dell'istanza di TFS. Ognuno di questi utenti contribuisce a un processo parallelo aggiuntivo a ogni raccolta. È possibile usare questo vantaggio in tutti i Team Foundation Server dell'organizzazione.

  1. Passare a Impostazioni server, Livelli di accesso.

    server del pannello di controllo e livelli di accesso aziendali

    Esempio di URL: http://{your_server}:8080/tfs/_admin/_licenses

  2. Sul lato sinistro della pagina fare clic su VS Enterprise.

  3. Aggiungere gli utenti che hanno Visual Studio Enterprise sottoscrizioni.

Dopo aver aggiunto questi utenti, le licenze aggiuntive verranno visualizzate nella pagina dei limiti delle risorse descritta di seguito.

Acquistare processi paralleli aggiuntivi

Se è necessario eseguire altre versioni parallele, è possibile acquistare processi privatiaggiuntivi dal marketplace Visual Studio . Poiché attualmente non è possibile acquistare direttamente i processi paralleli dal Marketplace per un'istanza TFS, è necessario prima acquistare processi paralleli per un'Azure DevOps locale. Dopo aver acquistato i processi privati per un'organizzazione Azure DevOps, immettere manualmente il numero di processi paralleli acquistati nella pagina dei limiti delle risorse descritta di seguito.

Visualizzare e gestire processi paralleli

  1. Passare a Impostazioni raccolta, Pipelines, Limiti delle risorse.

    Impostare i limiti delle risorse

    Esempio di URL: http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits

  2. Consente di visualizzare o modificare il numero di processi paralleli acquistati.

Domande frequenti

Ricerca per categorie idoneo per il livello gratuito dei progetti pubblici?

È possibile ottenere i limiti del livello gratuito per i progetti pubblici se si soddisfano entrambe le condizioni seguenti:

  • La pipeline fa parte di un progetto Azure Pipelines pubblico.
  • La pipeline compila un repository pubblico da GitHub o dallo stesso progetto pubblico nell'organizzazione Azure DevOps.

Per informazioni su come richiedere la concessione di processi paralleli gratuiti, vedere Quanto costano i processi paralleli (ospitati da Microsoft)?

È possibile assegnare un processo parallelo a un progetto o a un pool di agenti specifico?

Attualmente non esiste un modo per partizionare o dedicare capacità di processi paralleli a un progetto o a un pool di agenti specifico. Ad esempio:

  • Si acquistano due processi paralleli nell'organizzazione.
  • Si avviano due esecuzioni nel primo progetto e vengono utilizzati entrambi i processi paralleli.
  • Si avvia un'esecuzione nel secondo progetto. L'esecuzione non verrà avviata fino al completamento di una delle esecuzioni nel primo progetto.

Sono previsti limiti per chi può usare Azure Pipelines?

È possibile avere tutti gli utenti desiderati quando si usa Azure Pipelines. Non è disponibile alcun addebito per utente per l'uso Azure Pipelines. Gli utenti con accesso sia di base che di stakeholder possono creare tutte le build e le versioni desiderate.

Esistono limiti al numero di build e pipeline di versione che è possibile creare?

No. È possibile creare centinaia o persino migliaia di pipeline senza alcun addebito. È possibile registrare qualsiasi numero di agenti self-hosted senza alcun addebito.

Come sottoscrittore Visual Studio Enterprise, si ottengono processi paralleli aggiuntivi per TFS e Azure Pipelines?

Sì. Visual Studio Enterprise sottoscrittori ottengono un processo parallelo in Team Foundation Server 2017 o versione successiva e un processo parallelo self-hosted in ogni organizzazione di Azure DevOps Services di cui sono membri.

Qual è l'opzione per pagare gli agenti ospitati al minuto?

Alcuni clienti precedenti hanno ancora un piano al minuto per gli agenti ospitati. In questo piano si paga $ 0,05/minuto per le prime 20 ore dopo il livello gratuito e $ 0,01/minuto dopo 20 ore. A causa delle limitazioni seguenti in questo piano, è consigliabile passare al modello di processi paralleli:

  • Quando si usa il piano al minuto, è possibile eseguire un solo processo alla volta.
  • Se si eseguono compilazioni per più di 14 ore a pagamento in un mese, il piano al minuto potrebbe essere meno conveniente rispetto al modello di processi paralleli.

Uso i controller di compilazione XAML con l'organizzazione. Come vengono addebitati i costi?

È possibile registrare un controller di compilazione XAML per ogni processo parallelo self-hosted nell'organizzazione. L'organizzazione ottiene almeno un processo parallelo self-hosted gratuito, quindi è possibile registrare un controller di compilazione XAML senza costi aggiuntivi. Per ogni controller di compilazione XAML aggiuntivo, è necessario un processo parallelo self-hosted aggiuntivo.

Who possibile usare il sistema?

Gli utenti TFS con una licenza CAL TFS possono creare tutte le versioni desiderate.

Per approvare le versioni, non è necessaria una licenza CAL TFS. Qualsiasi utente con accesso agli stakeholder può approvare o rifiutare le versioni.

Sono necessari processi paralleli per eseguire compilazioni in TFS?

No, in TFS non sono necessari processi paralleli per eseguire le compilazioni. È possibile eseguire tutte le compilazioni desiderate contemporaneamente senza costi aggiuntivi.

Sono necessari processi paralleli per gestire le versioni precedenti a TFS 2017?

No.

In TFS 2015, se gli utenti hanno una licenza CAL TFS, possono gestire le versioni senza costi aggiuntivi in modalità di valutazione. È stata definita "modalità di valutazione" per indicare che alla fine verrebbe addebitato un addebito per la gestione delle versioni. Nonostante questa etichetta, microsoft supporta completamente la gestione delle versioni in TFS 2015.