Çalıştırma veya derleme numaralarını yapılandırma

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

İşlem hattı çalıştırmalarınızın numaralandırılmış şeklini özelleştirebilirsiniz. Çalıştırma numarası için varsayılan değer şeklindedir $(Date:yyyyMMdd).$(Rev:r).

Azure DevOps'ta $(Rev:r) yalnızca derleme numarası alanında çalışan özel bir değişken biçimidir. Derleme tamamlandığında, derleme numarasında başka hiçbir şey değişmediyse, Rev tamsayı değeri bir artar.

$(Rev:r) derleme numarasının bir bölümünü değiştirdiğinizde sıfırlanır. Örneğin, derleme numarası biçiminizi olarak $(Build.DefinitionName)_$(Date:yyyyMMdd).$(Rev:r)yapılandırdıysanız, tarih sonraki gün değiştiğinde derleme numarası sıfırlanır. Derleme numaranız ise MyBuild_20230621.1, o gün bir sonraki derleme numarası olur MyBuild_20230621.2. Sonraki gün, derleme numarası olur MyBuild_20230622.1.

Derleme numarası biçiminiz ise 1.0.$(Rev:r), sayının bir bölümünü değiştirdiğinizde derleme numarası sıfırlanır 1.0.1 . Örneğin, son derleme numaranız ise 1.0.3ve sürüm değişikliğini belirtmek için 1.1.$(Rev:r) derleme numarasını olarak değiştirirseniz, sonraki derleme numarası olur 1.1.1.

YAML'de bu özellik çağrılır name ve işlem hattının kök düzeyinde olmalıdır.

Not

YAML dosyasının kök düzeyinde belirtilen öğeler işlem hattı özellikleridir.

Belirtilmezse, çalıştırmanıza adı olarak benzersiz bir tamsayı verilir. Çalıştırmalara ekibiniz için anlamlı olan çok daha yararlı adlar verebilirsiniz. Belirteçlerin, değişkenlerin ve alt çizgi karakterlerinin birleşimini kullanabilirsiniz. name özelliği şablon dosyalarında çalışmaz.

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

steps:
  - script: echo '$(Build.BuildNumber)' # outputs customized build number like project_def_master_20200828.1

YAML derlemeleri henüz TFS'de kullanılamaz.

Örnek

O sırada bir çalıştırma başlatılır:

  • Proje adı: Fabrikam

  • İşlem hattı adı: CIBuild

  • Dal: ana

  • Derleme Kimliği/Çalıştırma Kimliği: 752

  • Tarih: 5 Mayıs 2019.

  • Saat: 21:07:03.

  • Bir çalıştırma bugün erken saatlerde tamamlandı.

Bu derleme numarası biçimini belirtirseniz:

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

Ardından bu günki ikinci çalıştırmanın adı: Fabrikam_CIBuild_main_20190505.2

Belirteçler

Aşağıdaki tabloda her belirtecin önceki örne göre nasıl çözüldüğü gösterilmektedir. Bu belirteçleri yalnızca bir çalıştırma numarası tanımlamak için kullanabilirsiniz; bunlar işlem hattınızda başka hiçbir yerde çalışmaz.

Belirteç Örnek değiştirme değeri
$(Build.DefinitionName) CIBuild

Not: İşlem hattı adı geçersiz veya boşluk karakterleri içermemelidir.
$(Build.BuildId) 752

$(Build.BuildId), Çalıştırma Kimliği olarak da adlandırılan bir iç sabit kimliktir. Kuruluş genelinde benzersizdir.
$(DayOfMonth) 5
$(DayOfYear) 217
$(Hours) 21
$(Minutes) 7
$(Month) 8
$(Rev:r) 2 (Üçüncü çalıştırma 3'tür, vb.)

Tamamlanan her derlemenin benzersiz bir ada sahip olduğundan emin olmak için $(Rev:r) kullanın. Derleme başlatıldığında, derleme numarasında başka hiçbir şey değişmediyse Rev tamsayı değeri bir artırılır.

Sayı içinde ön ek sıfırlarını göstermek istiyorsanız, daha fazla 'r' karakteri ekleyebilirsiniz. Örneğin, Rev numarasının 01, 02 vb. ile başlamasını istiyorsanız $(Rev:rr) değerini belirtin. Sürüm numaralandırma düzeninin bir parçası olarak sıfır tuşlu Rev kullanıyorsanız, bazı işlem hattı görevlerinin veya NuGet paketleri gibi popüler araçların baştaki sıfırları kaldırdığını ve bu da oluşturulan yapıtlarda sürüm numarası uyuşmazlığının oluşmasına neden olduğunu unutmayın.
$(Date:yyyyMMdd) 20090824

$(Date:MMddyy) gibi diğer tarih biçimlerini belirtebilirsiniz
$(Seconds) 3
$(SourceBranchName) main
$(TeamProject) Fabrikam
$(Year:yy) 09
$(Year:yyyy) 2009

Değişkenler

Ayrıca, numaranızda "Tümü" kapsamına sahip kullanıcı tanımlı ve önceden tanımlanmış değişkenleri de kullanabilirsiniz. Örneğin, tanımladıysanız My.Variableaşağıdaki sayı biçimini belirtebilirsiniz:

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

İlk dört değişken önceden tanımlanmıştır. My.Variable, değişkenler sekmesinde sizin tarafınızdan tanımlanır.

İfadeler

Derleme numarasını ayarlamak için bir ifade kullanırsanız, ifadeler değerlendirilirken değerleri ayarlanmamış olduğundan bazı belirteçleri kullanamazsınız. Bu belirteçler , $(Build.BuildURL)ve $(Build.BuildNumber)belirteçlerini içerir$(Build.BuildId).

SSS

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

Çalıştırmalar en fazla 255 karakter olabilir. İzin verilmeyen karakterler , , /, , , <, >, ', |, ?@ve *karakterlerini içerir":. ile .bitiremezsiniz.

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

Saat dilimi UTC'dir.

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

Betik içindeki çalıştırma numarası değişkenine nasıl başvurabilirsiniz?

Çalıştırma numarası değişkeni ile $(Build.BuildNumber)çağrılabilir. Çalıştırma numarasını içeren yeni bir değişken tanımlayabilir veya çalıştırma numarasını doğrudan çağırabilirsiniz. Bu örnekte, $(MyRunNumber) çalıştırma numarasını içeren yeni bir değişkendir.

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


steps:
- script: echo $(MyRunNumber) # display MyRunNumber
- script: echo $(Build.BuildNumber) #display Run Number

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

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

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)' ## output run number