5

TeamCity'den önceden derleme ASP.NET web uygulaması projeleri hakkında bir sorum var. Bu şu konuya bir takip söz çeşit:ASP.NET web uygulamasını TeamCity'den nasıl öncelersin?

How to deploy after a build with TeamCity?

Yukarıdaki iplik kullanarak autodeploy için birim testlerinden CI uygulayan bıktım ve şimdi önderlemeyi ile süreci tamamlamak istiyorum proje. Proje oldukça büyük ve yeni bir dağıtımdan sonra yanıt süresinde gereksiz gecikmelerden kaçınmak istiyorum.

Bunu, TeamCity'den yapmanın bir yolu var mı? MSBuild'i bazı özel argümanlarla çağırmak gibi mi?

cevap

3

Elbette, özel bir MSBuild komut dosyası ile yapılabilir. İşte bizim ASP.NET MVC 3 web sitemizi (aslında ASP.NET sürümünde değişiklik göstermeyecek şekilde) önceden derlemek için koşuyoruz. Yardımlarınız için

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> 

    <PropertyGroup> 
    <WebProject>Web\ChatPast.Web\ChatPast.Web.csproj</WebProject> 
    <WebProjectFolder>Web\ChatPast.Web</WebProjectFolder> 
    <WebPublishFolder>ChatPastWebPublish</WebPublishFolder> 
    </PropertyGroup> 

    <ItemGroup> 
    <ZipFiles Include="$(teamcity_build_workingDir)\src\ChatPast\$(WebPublishFolder)\**\*.*" /> 
    </ItemGroup> 

    <Target Name="Build"> 
     <!-- Compilation of all projects --> 
     <MSBuild Projects="ChatPast.sln" Properties="Configuration=Release"/> 

     <!-- Creating web publish folder. --> 
     <RemoveDir Directories="$(WebPublishFolder)"/> 
     <MakeDir Directories="$(WebPublishFolder)"/> 

     <!-- Running ASP.NET publish --> 
     <MSBuild Projects="$(WebProject)" 
      Targets="ResolveReferences;_CopyWebApplication" 
      Properties="Configuration=Release;WebProjectOutputDir=..\..\$(WebPublishFolder);OutDir=..\..\$(WebPublishFolder)\bin\" /> 

    </Target> 
</Project> 
+0

Büyük sayesinde bir sürü:

Önce çözüm dosyasında karşı MSBuild çalıştırarak düzenli yapı çalışır, o zaman bu özel MSBuild kod çalışır! – Andras

İlgili konular