Visual Studio Online'da (XAML yapı tanımları değil) yeni betik yapı özelliklerini kullanıyorum ve yapı sürüm numarası en son Git Commit kimliğini içermeye çalışıyorum Yapı Numarası Biçimini kullanarak hedef depo. Aşağıdakilerin yapı numarası formatı kullanıyorumBuild.SourceVersion VSO vNext Build boş
:
1.0.1234.
için oluşturulan bir versiyon numarası ile sonuçlanır
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceVersion)
- yani SourceVersion değeri bir yapı kuyruk zaman VSO bir hataya neden olur ki, boştur. Ayrıca, aynı sonucu Build.
ile önekleyerek değişkene hak kazanmaya çalıştım. Bu, doğru 1.0.1234.refs_heads_master
I Predefined Variables referans kullanıyorum ve Build.SourceVersion genel değişken olarak listelenen bir değer ile sonuçlanmaktadır
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceBranch)
: test etmek için, aşağıdaki biçimde yapı numarasını değiştirmiş .
Hatalı bir şey yapıyorum, bir hatayla karşılaştım mı yoksa tasarım gereği var mıdır ve yapı sıraya alındığında kullanılabilir değil mi? Bu, tasarım gereğince, Yapı Numarası Formatında kısa Git Komut Kimliği'ni otomatik olarak dahil etmenin herhangi bir yolu var mı?
Bu açıkça bir Git CommitId belirtmeyen yaptığım zaman gördüğüm hata: Ben VSO içinde yapı numarası biçimini ayarlamak nerede
Bu
olduğunu dize $ (MajorVersion). $ (MinorVersion). $ (BuildId). $ (SourceVersion) oluşturuldu bir yapı numarası 0.1.1. Geçersiz karakter (ler) içeriyorsa, çok uzun veya "." ile biter. Yapı numarasının maksimum uzunluğu 255 karakterdir. İzin verilmeyen karakterler şunlardır: "" ","/",": ", '<', '>', '\', '|', '?', '@' Ve '*'.
ne elde edebilirsiniz sen $ (MajorVersion). $ (MinorVersion). $ (Build.BuildId). $ (Build.SourceVersion) 'ile tanımlanmıştır. Sadece hem VSO hem de TFS 2015 şirketlerinde doğrulandı. Çıktı şuna benzer: '1.0.20.41f2983578f720695227a7a8a41ed3d7437efc30'. Senin tarafında garip davranışlara sebep olan bir yazım hatası olmadığından emin misin? –
@YanSklyarenko, Ben her zaman $ (MajorVersion). $ (MinorVersion). $ (Build.BuildId) kullanırsanız, yapı numarası biçiminde (InvalidMacroInBuildNumberException yazın) belirtilen makro $ (Build.SourceVersion) genişletilemiyor. Yapı numarası formatını tanımlamak için $ (Build.SourceVersion). Ayrıca, SourceVersion değişkeni, bu yapıya dahil edilen en son sürüm kontrol değişkendir. CommitId veya '41f2983578f720695227a7a8a41ed3d7437efc30' gibi bir şey olmamalıdır değişiklikleri kümesi (örneğin, CS1234). Önemli bir şey mi özledim? –
@Vicky, hmm, bu farklı bir şey, sanırım. Bu istisna (InvalidMacroInBuildNumberException) gibi görünüyor, yapı numarası biçimi geçersiz demektir. Demek istediğim, Major.Minor.Build.Revision'ın hepsinin numaralar olması, bu kimliklerin ve karmaların değil. $ (Build.SourceVersion) çalışmalarının makro kısmı çalışır, ancak yapı numarasında kullanamazsınız. Diğer yorumunuz - Git'teki commit ID'si, uzun esrar, 'CS1234' TFVC değişikliklerinin formatıdır. –