Ç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 , 02
vb. başlayıp başlamamasını 01
istediğ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.Variable
aş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.Reason
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 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)