Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Um número de execução ou número de compilação exclusivo identifica cada execução de um pipeline ou compilação 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 compilação em pipelines YAML ou deixar o campo Nome ou Formato de número de compilação em branco nos pipelines clássicos, cada execução receberá um inteiro exclusivo como nome. Os nomes de compilação 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 compilação
Em pipelines clássicos, podes personalizar o formato de número de compilação em Opções na definição da pipeline. Em pipelines YAML, você pode personalizar o formato de número de execução usando a name propriedade no nível de pipeline do arquivo YAML. A name propriedade não é suportada 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 compilação 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 para 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 compilação. Quando uma compilação é concluída, se nada mais no número de compilação mudar, o Rev valor inteiro aumenta em um.
$(Rev:r) reinicia para 1 quando qualquer outra parte do número de compilação é alterada. Por exemplo, se você configurar o formato do 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 compilação anterior era MyBuild_20230621.1, o próximo número de compilação nesse dia é MyBuild_20230621.2. O primeiro número de compilação no dia seguinte é MyBuild_20230622.1.
$(Rev:r) também redefine para 1 se se alterar a versão. Se o formato de compilação for 1.0.$(Rev:r) e o último número de compilação for 1.0.3, se você alterar a versão para 1.1.$(Rev:r), o próximo número de compilação será 1.1.1.
O seguinte formato de número de compilação 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 compilação são resolvidos da seguinte maneira:
- Nome do projeto: Fabrikam
- Nome da definição de compilação: CIBuild
- Filial: principal
- Data: 6 de maio de 2024
- Número de execução para esse dia: 2
Tokens de número de execução
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 num pipeline.
| Símbolo | Valor de exemplo | Notas |
|---|---|---|
$(Build.DefinitionName) |
CIBuild | Um nome de build, que não pode conter caracteres de espaço em branco ou inválidos. |
$(Build.BuildId) |
752 | Uma ID interna e imutável, também chamada de Run ID, que é exclusiva 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 | Posição no número de corridas 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 pretender mostrar zeros de prefixo no número de execução, pode adicionar mais caracteres r ao token Rev. Por exemplo, especifique $(Rev:rr) se deseja que o Rev número comece com 01, 02e assim por diante.
No entanto, se utilizar um Rev preenchido com zero à esquerda como parte de um esquema de numeração de versão, algumas tarefas de pipeline ou ferramentas populares, como pacotes NuGet, removerão os zeros à esquerda. Esse comportamento causa uma incompatibilidade no número de versão nos artefatos gerados pela compilação.
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 os $(Build.BuildId)tokens , $(Build.BuildUri)ou $(Build.BuildNumber) , 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 iteração
Você pode usar variáveis predefinidas e definidas pelo usuário em seu número 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.
FAQ
Qual pode ser o tamanho de um número de execução e que caracteres posso usar?
Os números de execução podem ter até 255 caracteres. Não é possível usar os caracteres ", /, \, :, <, >, ', |, ?, @ ou *, e não é possível terminar o número com ..
Em que fuso horário são expressos os valores de tempo do número de compilação?
O fuso horário é UTC.
O fuso horário é o mesmo que o sistema operacional da máquina que executa o servidor de camada de aplicativo.
Como posso definir dinamicamente o número de compilação, aplicando condições?
Você pode usar variáveis como parte integrante do seu 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 muda 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 posso fazer referência à variável de número de execução dentro de um script?
Você pode fazer referência ao 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)