Ç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 uç 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