Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Um número de execução exclusivo ou um número de build identifica cada execução de um pipeline ou build do Azure Pipelines. Este artigo explica a estrutura desse número e como você pode personalizá-lo para ser mais útil ou significativo para sua equipe.
Se você não especificar um nome de build em pipelines YAML ou deixar o campo Nome ou Formato de número de build em branco em pipelines clássicos, cada execução recebe um número inteiro exclusivo como seu nome. Os nomes de build podem usar outros caracteres, tokens e variáveis. Você pode personalizar números de execução e compilação usando padrões de nomenclatura, tokens especiais e variáveis predefinidas ou definidas pelo usuário.
Configuração do número de build
Em pipelines clássicos, você pode personalizar o formato do número de Build em Opções na definição de pipeline. Em pipelines YAML, você pode personalizar o formato do número da execução usando a propriedade name no nível pipeline do arquivo YAML. A name propriedade não tem suporte em modelos ou estágios.
O exemplo a seguir define um formato de número de execução personalizado que produz um número de build como MyProject_MyBuild_main_20240828.1.
name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)
steps:
- script: echo '$(Build.BuildNumber)'
Número de execução
O valor padrão de um número de execução do Azure Pipelines é $(Date:yyyyMMdd).$(Rev:r). A $(Rev:r) variável de revisão funciona apenas em um campo de número de build. Quando uma compilação for concluída, se nada mais no número de compilação for alterado, o valor inteiro desse número aumentará em um.
$(Rev:r) redefine para 1 quando qualquer outra parte do número de compilação é alterada. Por exemplo, se você tiver configurado o formato de número de compilação como $(Build.DefinitionName)_$(Date:yyyyMMdd).$(Rev:r), o número de compilação será redefinido quando a data for alterada.
Se o número de build anterior tiver sido MyBuild_20230621.1, o próximo número de build naquele dia será MyBuild_20230621.2. O primeiro número de build no dia seguinte é MyBuild_20230622.1.
$(Rev:r) também é redefinido para 1 se você alterar a versão. Se o formato de build for 1.0.$(Rev:r) e seu último número de build for 1.0.3, se você alterar a versão para 1.1.$(Rev:r), o próximo número de build será 1.1.1.
O formato de número de build a seguir produz o nome Fabrikam_CIBuild_main_20240506.2 para a segunda execução em 6 de maio de 2024.
name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)
Os tokens de número de build são resolvidos da seguinte maneira:
- Nome do projeto: Fabrikam
- Nome da definição de build: CIBuild
- Branch: principal
- Data: 6 de maio de 2024
- Número de execução para esse dia: 2
Executar tokens numéricos
A tabela a seguir mostra como os tokens de número de execução são resolvidos. Você pode usar esses tokens apenas para definir números de execução. Eles não funcionam em nenhum outro lugar em um pipeline.
| Símbolo | Valor do exemplo | Observações |
|---|---|---|
$(Build.DefinitionName) |
CIBuild | Um nome de build, que não pode conter caracteres inválidos ou de espaço em branco. |
$(Build.BuildId) |
752 | Um ID interno e imutável, também chamado Run ID, que é exclusivo na organização do Azure DevOps. |
$(Date:yyyyMMdd) |
20240506 | Um formato de data. Você também pode especificar outros formatos de data, como $(Date:MMddyy). |
$(DayOfMonth) |
6 | |
$(DayOfYear) |
126 | |
$(Hours) |
21 | |
$(Minutes) |
7 | |
$(Month) |
5 | |
$(Rev:r) |
2 | Posicione-se no número de execuções naquele dia. Use $(Rev:r) para garantir que cada compilação concluída tenha um nome exclusivo. |
$(Seconds) |
3 | |
$(SourceBranchName) |
principal | |
$(TeamProject) |
Fabrikam | |
$(Year:yy) |
24 | |
$(Year:yyyy) |
2024 |
Importante
Se você quiser mostrar zeros de prefixo no número de execução, você pode adicionar mais caracteres r ao token Rev. Por exemplo, especifique $(Rev:rr) se você deseja que o número Rev comece com 01, 02, e assim por diante.
No entanto, se você usar um zero à esquerda Rev como parte de um sistema de numeração de versão, algumas tarefas de pipeline ou algumas ferramentas populares, como pacotes NuGet, removerão os zeros à esquerda. Esse comportamento causa uma incompatibilidade de número de versão nos artefatos que o processo de build produz.
Expressões em números de execução
Se você usar uma expressão para definir o número de execução, não poderá usar o $(Build.BuildId), $(Build.BuildUri)ou $(Build.BuildNumber) tokens, porque seus valores ainda não estão definidos no momento em que as expressões de pipeline são avaliadas.
Variáveis em números de execução
Você pode usar variáveis predefinidas e definidas pelo usuário no código de execução. Por exemplo, se você definir My.Variable, poderá especificar o seguinte formato de número. As quatro primeiras variáveis são predefinidas.
$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.RequestedFor)_$(Build.BuildId)_$(My.Variable)
Para obter mais informações sobre variáveis predefinidas, consulte Usar variáveis predefinidas. Para obter informações sobre como definir variáveis de usuário, consulte Definir variáveis.
perguntas frequentes
Qual é o tamanho de um número de execução e quais caracteres posso usar?
Os números de execução podem ter até 255 caracteres. Você não pode usar os caracteres ", /, , \, :, <, >, ', |, , ?, @ou *, e você não pode terminar o número com ..
Em qual fuso horário os valores de tempo do número de compilação são expressos?
O fuso horário é UTC.
O fuso horário é o mesmo que o sistema operacional do computador que executa o servidor da camada de aplicativo.
Como posso definir o número de build dinamicamente com condições?
Você pode usar variáveis como parte do número de execução. No exemplo a seguir, a variável why é definida como parte do número de execução e seu valor é alterado dependendo do 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)'
Como eu posso referenciar a variável de número de execução em um script?
Você pode referenciar o número de execução diretamente como $(Build.BuildNumber) em seus scripts ou criar uma variável personalizada que inclua o número. Por exemplo:
# Set MyRunNumber
variables:
MyRunNumber: '1.0.0-CI+$(Build.BuildNumber)'
steps:
- script: echo $(MyRunNumber)
- script: echo $(Build.BuildNumber)