2011-04-07 33 views
22

.NET web site projemi dağıtmak için Jenkins/Hudson CI kullanıyorum. Projemi oluşturmak için MSbuild plugin kullanıyorum ve daha sonra kopyalamak için xcopy sunucusuna kopyaladım..NET/Jenkins ile dağıtımı .NET

publish feature in Visual Studio'u kullanırsam farklı bir dosya grubu aldığımı farkettim. Yapılandırma dönüşümleri çalışıyorum, ancak tüm .cs dosyaları ile sonuçlanır ve bir winmerge karşılaştırması, ikili dosyaların farklı olduğunu gösterir.

Yani, yayınlama özelliği gibi çalışan ya da bir xcopy konuşmasının işlevsel olarak aynı şey olduğunu doğrulamak için Jenkins'u almak isterim.

+8

EXE ve DLL dosya başlıkları bir zaman damgası içerir. Farklı yapılar asla aynı dosyayı üretmeyecek. –

cevap

23

Ben Web Deploy kullanarak ve Jenkins içeren bir bat dosyası çalıştıran bir son inşa adım olarak iyi deneyimleri yaşadım:

msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST% 

Yapınızın sunucusu ve web dağıtma paketini yüklemeyi gerekecek IIS üzerinde genişletme.

6

Projeyi oluşturmak ve dağıtmak için MSBuild Jenkins eklentisini kullanıyorum. Diğer cevaplarda da belirtildiği gibi, Web Deploy yüklü olmalıdır. VS ya ya,

/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName 

Tabii ki, ilk yayınlama profili oluşturmak gerekir: Jenkins proje yapılandırma sayfasında

, sen Komut satırı değişkenleri alanına aşağıdakileri ekleyin gerekir IIS'den dışarı aktararak ve MSBuild Yapılandırma Dosyası alanında da çözüm dosyası yolunu belirtmeniz gerekir.