Çalıştırma ve derleme numaraları

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

Bu makalede Azure Pipelines derleme sayıları ve çalıştırma numaralarının nasıl derlendiği ve bunları işlem hatlarınızda nasıl özelleştirebileceğiniz açıklanmaktadır.

Ç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 derleme adı belirtmezseniz veya Klasik işlem hatlarında Ad alanını boş bırakırsanız, çalıştırmanız adı olarak benzersiz bir tamsayı 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.

YAML işlem hatlarında derleme adı özelliği çağrılır name ve işlem hattının kök düzeyinde olmalıdır. YAML dosyasının kök düzeyinde belirtilen öğeler işlem hattı özellikleridir.

Not

name özelliği şablon dosyalarında çalışmaz.

Aşağıdaki örnek kod, project_def_master_202408281 gibi özelleştirilmiş bir derleme numarası verir.

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)1, derleme numarasının başka bir bölümü değiştiğinde 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, sürüm değişikliğini belirtmek için 1 derleme numarasını değiştirirseniz olarak sıfırlanı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

Derleme çalıştırması için aşağıdaki verileri göz önünde bulundurun:

  • Proje adı: Fabrikam
  • İşlem hattı adı: CIBuild
  • Dal: ana
  • Derleme Kimliği/Çalıştırma Kimliği: 752
  • Tarih: 6 Mayıs 2024
  • Zaman: 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)

Belirteçler

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.

Belirteç Örnek değer Notlar
$(Build.DefinitionName) CIBuild İşlem hattı adı geçersiz veya boşluk karakterleri 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 , vb. olur 3. Tamamlanan her derlemenin benzersiz bir ada sahip olduğundan emin olmak için kullanın $(Rev:r) .
$(Date:yyyyMMdd) 20240506 gibi $(Date:MMddyy)diğer tarih biçimlerini belirtebilirsiniz.
$(Seconds) 3
$(SourceBranchName) main
$(TeamProject) Fabrikam
$(Year:yy) 24
$(Year:yyyy) 2024

Önemli

Çalıştırma numarasında ön ek sıfırlarını göstermek istiyorsanız belirteçe Rev daha fazla r karakter ekleyebilirsiniz. Örneğin, sayıyla , 02vb. başlayıp başlamamasını 01istediğinizi belirtin$(Rev:rr).Rev

Sürüm numaralandırma düzeninin parçası olarak sıfır tuşlu Rev kullanıyorsanız, NuGet paketleri gibi bazı işlem hattı görevlerinin veya popüler araçların baştaki sıfırları kaldırdığını unutmayın. 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.BuildURL)ve $(Build.BuildNumber)belirteçlerini içerir$(Build.BuildId).

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 olabilir. , , , , , , , , ', |@?, veya *karakterlerini "kullanamazsınız ve sayıyı ile .sonlandıramazsınız. ><:/

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 değerine bağlı Build.Reasonolarak 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 başvurabilirim?

Çalıştırma numarasını içeren yeni bir değişken tanımlayabilir veya çalıştırma numarasını doğrudan çağırabilirsiniz. Aşağıdaki örnekte, $(MyRunNumber) çalıştırma numarasını içeren yeni bir değişkendir. veya $(Build.BuildNumber)kullanarak MyRunNumber çalıştırma numarası değişkenini çağırabilirsiniz.

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

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

Değişkenleri tanımlama