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

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatları tanımlar, çalıştırmalar derlemeler, hizmet bağlantıları hizmet noktaları,aşamalar ortamlar ve işler olarak adlandırılan aşamalar olarak adlandırılanlardır.

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

YAML'de bu özellik name çağrılır ve bir işlem hattının kök düzeyindedir. Belirtilmezse, çalıştırmanıza adı olarak benzersiz bir tamsayı verilir. Çalıştırmalara takımınız için anlamlı olan çok daha yararlı adlar vesersiniz. Belirteçlerin, değişkenlerin ve alt çizgi karakterlerinin birleşimini kullanabilirsiniz.

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ılamıyor.

Örnek

Bir çalıştırma başlat zamanı:

  • Project 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.

  • Bugün erken bir çalıştırma tamamlandı.

Bu derleme numarası biçimini belirtirsiniz:

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

Ardından bu günki ikinci çalıştırma şu şekilde adlandırılmış olur: Fabrikam_CIBuild_master_20190505.2

Belirteçler

Aşağıdaki tabloda, her belirteci önceki örnek temel alınarak nasıl çözümlenmiş olduğu gösterir. Bu belirteçleri yalnızca bir çalıştırma numarası tanımlamak için kullanabilirsiniz; bunlar işlem hattınız içinde başka bir yerde çalışmıyor.

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

Not: İşlem hattı adı geçersiz veya boşluk karakterleri içermemalıdır.
$(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 olur ve bu şekilde devam olur.)

Tamamlanan her derlemenin benzersiz bir adı 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şmemişse Rev tamsayı değeri bir artırılır.

Sayı içinde ön ek sıfırları göstermek için ek 'r' karakterleri eklersiniz. Örneğin, Rev numarasının 01, 02 gibi bir rakamla başlaması için $(Rev:rr) belirtin. Sürüm numarası düzeninin bir parçası olarak sıfır dolgulu Rev kullanırsanız, bazı işlem hattı görevlerinin veya NuGet paketleri gibi popüler araçların öndeki sıfırları kaldırarak üretilen yapıtlarda sürüm numarası eşleşmesi eşleşmesi neden olduğunu unutmayın.
$(Date:yyyyMMdd) 20090824

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

Değişkenler

Numaranıza "All" kapsamına sahip kullanıcı tanımlı ve önceden tanımlanmış değişkenleri de kullanabilirsiniz. Örneğin, tanımlandıysanız My.Variable aş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 My.Variable

İfadeler

Derleme numarasını ayarlamak için bir ifade kullanırsanız, bazı belirteçleri kullanasınız çünkü değerleri ifadelerin değerlendirilmesinde ayarnmaz. Bu belirteçler $(Build.BuildId) arasında , ve yer $(Build.BuildURL)$(Build.BuildNumber) alır.

SSS

Çalıştırma numarası ne kadar büyük olabilir?

Çalıştırmalar en fazla 255 karakter olabilir.

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

Saat dilimi UTC'dir.

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

Bir betik içindeki çalıştırma numarası değişkenine nasıl başvurursunuz?

Çalıştırma numarası değişkeni ile çağrıl $(Build.BuildNumber) olabilir. Ç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

Derleme numarasını koşullarla dinamik olarak nasıl ayarlamam gerekir?

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

variables:
  ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
    why: pr
  ${{ elseif eq(variables['Build.Reason'], 'Manual' ) }}:
    why: manual
  ${{ elseif eq(variables['Build.Reason'], 'IndividualCI' ) }}:
    why: indivci 
  ${{ else }}:
    why: other

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

pool:
  vmImage: 'ubuntu-latest'

steps:
- script: echo '$(Build.BuildNumber)' ## output run number