Integrazione continua: creazione di script

Ora esaminiamo alcuni aspetti del file MSBuild per vedere cosa significano. Questi aspetti sono importanti da conoscere da un ciclo di integrazione continua.

Gli script di compilazione vengono utilizzati per creare la soluzione che farà parte dell'intero ciclo di integrazione continua. Diamo un'occhiata allo script di compilazione generale creato come parte di Visual Studio in.Netper la nostra soluzione campione. Lo script di build è piuttosto grande, anche per una soluzione semplice, quindi ne esamineremo le parti più importanti. Per impostazione predefinita, lo script di compilazione verrà archiviato in un file con lo stesso nome della soluzione principale in Visual Studio. Quindi nel nostro caso, se apri il fileSimple.csproj, vedrai tutte le impostazioni che verranno utilizzate per creare la soluzione.

  • Dipendenza dalla versione di MSBuild utilizzata: le seguenti impostazioni useranno i file di MSBuild installati nel server CI.

<VisualStudioVersion Condition = "'$(VisualStudioVersion)' == 
   ''">10.0</VisualStudioVersion>

<VSToolsPath Condition = "'$(VSToolsPath)' == ''"> 
   $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
</VSToolsPath>

<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

<Import Project = "$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project = "$(VSToolsPath)\WebApplications\
   Microsoft.WebApplication.targets" Condition = "'$(VSToolsPath)' ! = ''" />

<Import Project = "$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\
   WebApplications\Microsoft.WebApplication.targets" Condition = "false" />
  • Quali file sono necessari per creare correttamente la soluzione: il file ItemGrouptag conterrà tutti i file .Net necessari che sono richiesti per la corretta compilazione del progetto. Questi file dovranno risiedere di conseguenza sul server di compilazione.

<ItemGroup>
   <Reference Include = "Microsoft.CSharp" />
   <Reference Include = "System.Web.DynamicData" />
   <Reference Include = "System.Web.Entity" />
   <Reference Include = "System.Web.ApplicationServices" />
   <Reference Include = "System.ComponentModel.DataAnnotations" />
   <Reference Include = "System" />
   <Reference Include = "System.Data" />
   <Reference Include = "System.Core" />
   <Reference Include = "System.Data.DataSetExtensions" />
   <Reference Include = "System.Web.Extensions" />
   <Reference Include = "System.Xml.Linq" />
   <Reference Include = "System.Drawing" />
   <Reference Include = "System.Web" />
   <Reference Include = "System.Xml" />
   <Reference Include = "System.Configuration" />
   <Reference Include = "System.Web.Services" />
   <Reference Include = "System.EnterpriseServices"/>
</ItemGroup>
  • Quali sono le impostazioni del server Web da utilizzare: quando visitiamo il nostro argomento di distribuzione continua, vedrai come MSBuild verrà utilizzato per sovrascrivere queste impostazioni e distribuirle al nostro server preferito.

<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>59495</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl></IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>