SORU
1 AĞUSTOS 2008, Cuma


Nasıl ASP.NET web sitem ile SVN Revizyon numarası eşitleme?

Yığın Taşması altındaki subversion sürüm numarası vardır:

svn revision: 679

Benim gibi otomatik sürüm kullanmak istiyorum .NET Site/Application, Windows Forms, WPD projeler/çözümleri.

Bunu nasıl uygularım?

CEVAP
16 AĞUSTOS 2008, CUMARTESİ


Bizim otomatik kurar xUnit.net ile yapıyoruz. Cruisecontrol.net (ve Programdır deniyorlar. Sürekli entegrasyon için çalışan MSBuild görevi otomatik olarak bizim için yapı numarası değişiklikleri, ortaya çıkan yapı ZİP dosyası DLL ve Eskilerden düzgün sürüm bilgisi içerir.

MSBuild file regular expression yedek yok olan bir DLL için UsingTask bir başvuru içerir bizim: (MS-PL lisans kapsamındaki bu DLL kullanmak için de bekliyoruz)

  <UsingTask
     AssemblyFile="3rdParty\CodePlex.MSBuildTasks.dll"
     TaskName="CodePlex.MSBuildTasks.RegexReplace"/>

Sonraki, biz otomatik olarak CI sistemi tarafından sağlanan bir yapı numarası, ayıklamak. Sen-ebil da kaynak denetimi sağlayıcı sağlamak kaynak Revizyon numarası isterseniz, ama bulduğumuz inşa # CI sistemi daha kullanışlı, çünkü sadece bakmak entegrasyon sonuçları CI yapı numarası da sağlar bağlantı için, değişiklik(ler) içinde yer alan yapı.

 <!-- Cascading attempts to find a build number -->

 <PropertyGroup Condition="'$(BuildNumber)' == ''">
   <BuildNumber>$(BUILD_NUMBER)</BuildNumber>
 </PropertyGroup>
 <PropertyGroup Condition="'$(BuildNumber)' == ''">
   <BuildNumber>$(ccnetlabel)</BuildNumber>
 </PropertyGroup>
 <PropertyGroup Condition="'$(BuildNumber)' == ''">
   <BuildNumber>0</BuildNumber>
 </PropertyGroup>

(Çalışıyoruz BUİLD_NUMBER, gelen bir Programdır, o zaman ccnetlabel, hangi. CC.net ve eğer ikisi de varsa, varsayılan 0, elimizden gelen test otomatik oluşturma komut dosyasını el ile.)

Sonraki, bir GlobalAssemblyİnfo içine inşa sayısını belirleyen bir görev var.cs Projelerimizi bir bütün halinde bağlantı dosyası:

 <Target Name="SetVersionNumber">
   <RegexReplace
       Pattern='AssemblyVersion\("(\d \.\d \.\d )\.\d "\)'
       Replacement='AssemblyVersion("$1.$(BuildNumber)")'
       Files='GlobalAssemblyInfo.cs'/>
   <Exec Command="attrib -r xunit.installer\App.manifest"/>
 </Target>

Bu AssemblyVersion özniteliği, bir yerini bulun.b.c.bir d sürüm numarası.b.c.BuildNumber. Genellikle kaynak oluşturucu sabit numara ilk üç parça ağaç, ve sıfır (f.dördüncü odaya gideriz e., 1.0.2.0 bugün).

İnşa sürecinde, SetVersionNumber görevi Senin görevin inşa önce gelir emin olun. Sonunda, her otomatik oluşturmak için ikili bir geçmişi var, böylece inşa sonuçlar zip için Zip görevimiz kullanıyoruz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • pjtoohot

    pjtoohot

    15 NİSAN 2008