Aracılığıyla paylaş


Çalışma ve derleme numaraları

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

Azure Pipelines, her işlem hattı yürütmesine benzersiz bir çalıştırma numarası (derleme numarası olarak da adlandırılır) atar. Değişkenleri, belirteçleri ve adlandırma desenlerini kullanarak bu sayıları ekibiniz için daha anlamlı hale getirmek için özelleştirebilirsiniz.

Çalıştırma numarası, bir işlem hattının veya derlemenin belirli bir yürütmesini tanımlamak için kullanılır. Derleme numarası, çalıştırma numarasıyla eş anlamlıdır.

YAML işlem hatlarında bir derleme adı belirtmezseniz veya Klasik işlem hatlarında Ad alanını boş bırakırsanız, çalıştırmanız benzersiz bir tam sayı adı alır. Çalıştırmalara ekibiniz için anlamlı olan daha kullanışlı adlar verebilirsiniz. Derleme adlarında belirteçlerin, değişkenlerin ve alt çizgi karakterlerinin birleşimini kullanabilirsiniz.

Çalıştırma numarasını yalnızca name özelliğini kullanarak işlem hattınızın kök düzeyinde özelleştirebilirsiniz. name özelliğini işlem hattı düzeyinde ayarlayın. name özelliği şablonlarda veya aşamalarda desteklenmez.

Aşağıdaki kod, gibi project_def_main_202408281özel bir çalıştırma numarası biçimi ayarlar:

name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)

steps:
  - script: echo '$(Build.BuildNumber)'  

Çalıştırma numarası

Azure Pipelines'da bir çalıştırma numarasının varsayılan değeridir $(Date:yyyyMMdd).$(Rev:r). $(Rev:r) yalnızca derleme numarası alanında çalışan özel bir değişken biçimidir. Derleme tamamlandığında, yapı numarasında başka hiçbir şey değişmediyse, Rev tamsayı değeri bir artar.

$(Rev:r) başka bir bölüm değiştiğinde 1 olarak sıfırlanır. Örneğin, derleme numarası biçiminizi olarak $(Build.DefinitionName)_$(Date:yyyyMMdd).$(Rev:r)yapılandırırsanız, tarih değiştiğinde derleme numarası sıfırlanır.

Önceki derleme numarası ise MyBuild_20230621.1, o gün bir sonraki derleme numarası olur MyBuild_20230621.2. Sonraki günün ilk derleme numarası olur MyBuild_20230622.1.

$(Rev:r) ayrıca derleme numarasını sürüm değişikliğini belirtmek için değiştirirseniz 1 olarak yeniden ayarlanır. Örneğin, derleme biçiminiz 1.0.$(Rev:r) ve son derleme numaranız ise 1.0.3, derleme numarasını 1.1.$(Rev:r)olarak değiştirirseniz, sonraki derleme numarası olur 1.1.1.

Örnek

Bir derleme işlemi için aşağıdaki verileri dikkate alın.

  • Proje adı: Fabrikam
  • Pipeline adı: CIBuild
  • Dal: ana
  • Derleme Kimliği/Çalıştırma Kimliği: 752
  • Tarih: 6 Mayıs 2024
  • Saat: 21:07:03
  • Bir çalıştırma bugün erken saatlerde tamamlandı.

Aşağıdaki derleme numarası biçimini belirtirseniz, 6 Mayıs 2024'te yapılan ikinci çalıştırma Fabrikam_CIBuild_main_20240506.2 olarak adlandırılır.

$(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)

Jetonlar

Aşağıdaki tabloda, önceki örne göre her belirtecin çözümlenmesi gösterilmektedir. Bu belirteçleri yalnızca çalıştırma numaralarını tanımlamak için kullanabilirsiniz. İşlem hattında başka hiçbir yerde çalışmazlar.

Jeton Örnek değer Notlar
$(Build.DefinitionName) CIBuild İşlem hattı adı geçersiz karakterler veya boşluklar içeremez.
$(Build.BuildId) 752 $(Build.BuildId) , Azure DevOps kuruluşunda benzersiz olan, Çalıştırma Kimliği olarak da adlandırılan iç, sabit bir kimliktir.
$(DayOfMonth) 6
$(DayOfYear) 126
$(Hours) 21
$(Minutes) 7
$(Month) 5
$(Rev:r) 2 Üçüncü günlük çalıştırma 3 ve devam eder. Her tamamlanan derlemenin benzersiz bir ada sahip olmasını sağlamak için $(Rev:r) kullanın.
$(Date:yyyyMMdd) 20240506 gibi $(Date:MMddyy)diğer tarih biçimlerini belirtebilirsiniz.
$(Seconds) 3
$(SourceBranchName) ana
$(TeamProject) Fabrikam
$(Year:yy) yirmi dört
$(Year:yyyy) 2024

Önemli

Çalıştırma numarasında ön ek sıfırlarını göstermek istiyorsanız, r belirtecine daha fazla Rev karakter ekleyebilirsiniz. Örneğin, $(Rev:rr) numarasının Rev, 01 gibi başlamasını istiyorsanız 02 belirtin.

Sürüm numaralandırma düzeninin parçası olarak sıfır dolgulu Rev kullanıyorsanız, bazı işlem hattı görevleri veya NuGet paketleri gibi popüler araçlar baştaki sıfırları kaldırır. Bu davranış, oluşturulan yapıtlarda sürüm numarası uyuşmazlığı oluşmasına neden olur.

İfadeler

Derleme numarasını ayarlamak için bir ifade kullanırsanız, bazı belirteçleri kullanamazsınız çünkü bunların değerleri ifadeler değerlendirildiğinde ayarlanmamıştır. Bu belirteçler , $(Build.BuildId)ve $(Build.BuildURL)belirteçlerini içerir$(Build.BuildNumber).

Değişkenler

Derleme numaranızda kullanıcı tanımlı ve önceden tanımlanmış değişkenleri kullanabilirsiniz. Örneğin, tanımlarsanız My.Variableaşağıdaki sayı biçimini belirtebilirsiniz:

$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.RequestedFor)_$(Build.BuildId)_$(My.Variable)

Yukarıdaki örnekte, ilk dört değişken önceden tanımlanmıştır. Kullanıcı değişkenlerini tanımlama hakkında bilgi için bkz . İşlem hatlarında değişkenleri ayarlama.

SSS

Bir çalıştırma numarası ne kadar büyük olabilir ve hangi karakterleri kullanabilirim?

Çalıştırma numaraları en fazla 255 karakter uzunluğunda olabilir. Karakterlerinden ", /, \, :, <, >, ', |, ?, @ veya * kullanamazsınız ve sayıyı . ile bitiremezsiniz.

Derleme numarası saat değerleri hangi saat diliminde ifade edilir?

Saat dilimi UTC'dir.

Saat dilimi, uygulama katmanı sunucunuzu çalıştıran makinenin işletim sisteminin saat dilimiyle aynıdır.

Yapı numarasını koşullarla dinamik olarak nasıl ayarlayabilirim?

Değişkenleri çalıştırma numaranızın bir parçası olarak kullanabilirsiniz. Aşağıdaki örnekte, değişken why çalıştırma numarasının bir parçası olarak kullanılır, ve Build.Reason'e bağlı olarak değeri değişir.

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)'

Betik içinde çalıştırma numarası değişkenine nasıl erişebilirim?

Çalıştırma numarasına doğrudan betiklerinizde olduğu gibi $(Build.BuildNumber) başvurabilir veya bunu içeren özel bir değişken oluşturabilirsiniz. Örneğin:

# Set MyRunNumber
variables: 
  MyRunNumber: '1.0.0-CI+$(Build.BuildNumber)'

steps:
- script: echo $(MyRunNumber)
- script: echo $(Build.BuildNumber)

Değişkenleri tanımlama