Integración continua: creación de scripts

Ahora veamos ciertos aspectos del archivo MSBuild para ver qué significan. Es importante conocer estos aspectos a partir de un ciclo de integración continuo.

Los scripts de compilación se utilizan para compilar la solución, que será parte de todo el ciclo de integración continuo. Veamos el script de compilación general que se crea como parte de Visual Studio en.Netpara nuestra solución de muestra. El script de construcción es bastante grande, incluso para una solución simple, por lo que repasaremos las partes más importantes. De forma predeterminada, el script de compilación se almacenará en un archivo con el mismo nombre que la solución principal en Visual Studio. Entonces, en nuestro caso, si abre el archivoSimple.csproj, verá todas las configuraciones que se utilizarán para construir la solución.

  • Dependencia de la versión de MSBuild utilizada: la siguiente configuración utilizará los archivos de MSBuild instalados en el servidor de 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" />
  • ¿Qué archivos se necesitan para construir la solución correctamente? ItemGroupLa etiqueta contendrá todos los archivos .Net necesarios para que el proyecto se compile correctamente. Estos archivos deberán residir en el servidor de compilación en consecuencia.

<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>
  • ¿Cuáles son las configuraciones del servidor web que se utilizarán? Cuando visitemos nuestro tema de Implementación continua, verá cómo se usará MSBuild para anular estas configuraciones e implementarlas en nuestro servidor de elección.

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