Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines assegna un numero di esecuzione univoco (detto anche numero di build) a ogni esecuzione della pipeline. È possibile personalizzare questi numeri per renderli più significativi per il team, usando variabili, token e modelli di denominazione.
Il numero di esecuzione viene usato per identificare un'esecuzione specifica di una pipeline o di una compilazione. Il numero di build è equivalente al numero di esecuzione.
Se non si specifica un nome di compilazione nelle pipeline YAML o si lascia vuoto il campo Nome nelle pipeline classiche, l'esecuzione ottiene un numero intero univoco come nome. È possibile assegnare alle esecuzioni nomi più utili e significativi per il team. È possibile usare una combinazione di token, variabili e caratteri di sottolineatura nei nomi di compilazione.
È possibile personalizzare il numero di esecuzione solo a livello radice della pipeline usando la name
proprietà . Impostare la proprietà name
al livello della pipeline. La name
proprietà non è supportata nei modelli o nelle fasi.
Il codice seguente imposta un formato di numero di esecuzione personalizzato, ad esempio project_def_main_202408281
:
name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)
steps:
- script: echo '$(Build.BuildNumber)'
Numero di esecuzione
Il valore predefinito per un numero di esecuzione in Azure Pipelines è $(Date:yyyyMMdd).$(Rev:r)
.
$(Rev:r)
è un formato di variabile speciale che funziona solo nel campo numero di compilazione. Al termine di una compilazione, se nient'altro è cambiato nel numero di build, il Rev
valore intero aumenta di uno.
$(Rev:r)
viene reimpostato su 1
quando viene modificata qualsiasi altra parte del numero di build. Ad esempio, se si configura il formato del numero di build come $(Build.DefinitionName)_$(Date:yyyyMMdd).$(Rev:r)
, il numero di build viene reimpostato quando cambia la data.
Se il numero di build precedente è MyBuild_20230621.1
, il numero di build successivo di quel giorno è MyBuild_20230621.2
. Il primo numero di build il giorno successivo è MyBuild_20230622.1
.
$(Rev:r)
si reimposta anche a 1
se si modifica il numero di build per indicare una modifica della versione. Ad esempio, se il formato di compilazione è 1.0.$(Rev:r)
e l'ultimo numero di build è 1.0.3
, se si modifica il numero di build in 1.1.$(Rev:r)
, il numero di build successivo è 1.1.1
.
Esempio
Considerare i dati seguenti per un'esecuzione di compilazione:
- Nome progetto: Fabrikam
- Nome della pipeline: CIBuild
- Ramo: main
- ID di compilazione/ID esecuzione: 752
- Data: 6 maggio 2024
- Ora: 9:07:03 PM
- Un'esecuzione completata prima di oggi.
Se si specifica il formato del numero di build seguente, la seconda esecuzione il 6 maggio 2024 è denominata Fabrikam_CIBuild_main_20240506.2.
$(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)
Token
Nella tabella seguente viene illustrato il modo in cui ogni token viene risolto, in base all'esempio precedente. È possibile usare questi token solo per definire i numeri di esecuzione. Non funzionano altrove in una pipeline.
Token di accesso | Valore di esempio | Note |
---|---|---|
$(Build.DefinitionName) |
CIBuild | Il nome della pipeline non può contenere caratteri non validi o spazi vuoti. |
$(Build.BuildId) |
752 |
$(Build.BuildId) è un ID interno non modificabile, detto anche ID di esecuzione, univoco nell'organizzazione di Azure DevOps. |
$(DayOfMonth) |
6 | |
$(DayOfYear) |
126 | |
$(Hours) |
21 | |
$(Minutes) |
7 | |
$(Month) |
5 | |
$(Rev:r) |
2 | La terza esecuzione giornaliera è 3 , e così via. Usare $(Rev:r) per assicurarsi che ogni compilazione completata abbia un nome univoco. |
$(Date:yyyyMMdd) |
20240506 | È possibile specificare altri formati di data, $(Date:MMddyy) ad esempio . |
$(Seconds) |
3 | |
$(SourceBranchName) |
principale | |
$(TeamProject) |
Fabrikam | |
$(Year:yy) |
24 | |
$(Year:yyyy) |
2024 |
Importante
Se si desidera visualizzare gli zeri iniziali nel numero del run, è possibile aggiungere più caratteri al token r
Rev
. Ad esempio, specificare se si vuole che $(Rev:rr)
il Rev
numero inizi con 01
, 02
e così via.
Se si utilizza un Rev
con zeri iniziali come parte di uno schema di numerazione delle versioni, alcune attività della pipeline o strumenti popolari, come i pacchetti NuGet, rimuovono gli zeri iniziali. Questo comportamento causa una mancata corrispondenza del numero di versione negli artefatti prodotti.
Espressioni
Se si usa un'espressione per impostare il numero di build, non è possibile usare alcuni token, perché i relativi valori non vengono impostati al momento della valutazione delle espressioni. Questi token includono $(Build.BuildId)
, $(Build.BuildURL)
e $(Build.BuildNumber)
.
Variabili
È possibile usare variabili definite dall'utente e predefinite nel numero di build. Ad esempio, se si definisce My.Variable
, è possibile specificare il formato numerico seguente:
$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.RequestedFor)_$(Build.BuildId)_$(My.Variable)
Nell'esempio precedente le prime quattro variabili sono predefinite. Per informazioni su come definire le variabili utente, vedere Impostare le variabili nelle pipeline.
Domande frequenti
Quanto può essere grande un numero di esecuzione e quali caratteri è possibile usare?
I numeri di esecuzione possono contenere fino a 255 caratteri. Non è possibile usare i caratteri "
, /
, \
, :
, <
, >
, '
, |
, ?
, @
o *
e non è possibile terminare il numero con .
.
In quale fuso orario sono espressi i valori di ora del numero di build?
Il fuso orario è UTC.
Il fuso orario è uguale al fuso orario del sistema operativo del computer che esegue il server del livello applicazione.
Come è possibile impostare il numero di build in modo dinamico con le condizioni?
Puoi utilizzare le variabili come parte del tuo numero di esecuzione. Nell'esempio seguente la variabile why
viene usata come parte del numero di esecuzione e il relativo valore cambia a seconda di Build.Reason
.
variables:
- name: why
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
value: pr
${{ elseif eq(variables['Build.Reason'], 'Manual' ) }}:
value: manual
${{ elseif eq(variables['Build.Reason'], 'IndividualCI' ) }}:
value: indivci
${{ else }}:
value: other
name: $(TeamProject)_$(SourceBranchName)_$(why)_$(Date:yyyyMMdd).$(Rev:r)
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo '$(Build.BuildNumber)'
Come è possibile fare riferimento alla variabile numero di esecuzione all'interno di uno script?
È possibile fare riferimento al numero di esecuzione direttamente come $(Build.BuildNumber)
negli script oppure creare una variabile personalizzata che la include. Per esempio:
# Set MyRunNumber
variables:
MyRunNumber: '1.0.0-CI+$(Build.BuildNumber)'
steps:
- script: echo $(MyRunNumber)
- script: echo $(Build.BuildNumber)