지속적인 통합-빌드 스크립트

이제 MSBuild 파일의 특정 측면을 살펴보고 의미를 살펴 보겠습니다. 이러한 측면은 지속적인 통합주기에서 알아야 할 중요합니다.

빌드 스크립트는 전체 지속적인 통합주기의 일부가 될 솔루션을 빌드하는 데 사용됩니다. Visual Studio의 일부로 생성되는 일반 빌드 스크립트를 살펴 보겠습니다..Net샘플 솔루션을 위해. 빌드 스크립트는 간단한 솔루션이라 할지라도 꽤 큰 것이므로 가장 중요한 부분을 살펴 보겠습니다. 기본적으로 빌드 스크립트는 Visual Studio의 기본 솔루션과 동일한 이름의 파일에 저장됩니다. 따라서 우리의 경우 파일을 열면Simple.csproj, 솔루션을 빌드하는 데 사용될 모든 설정이 표시됩니다.

  • 사용 된 MSBuild 버전에 대한 종속성-다음 설정은 CI 서버에 설치된 MSBuild 파일을 사용합니다.

<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" />
  • 솔루션을 올바르게 구축하는 데 필요한 파일 – ItemGroup태그에는 프로젝트를 성공적으로 빌드하는 데 필요한 모든 필수 .Net 파일이 포함됩니다. 이러한 파일은 그에 따라 빌드 서버에 상주해야합니다.

<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>
  • 사용할 웹 서버 설정은 무엇입니까? 연속 배포 주제를 방문하면 MSBuild가 이러한 설정을 재정의하고 선택한 서버에 배포하는 데 어떻게 사용되는지 확인할 수 있습니다.

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