การผสานรวมอย่างต่อเนื่อง - สร้างสคริปต์

ตอนนี้เรามาดูบางแง่มุมของไฟล์ MSBuild เพื่อดูความหมาย ประเด็นเหล่านี้เป็นสิ่งสำคัญที่ต้องทราบจากวัฏจักรการรวมอย่างต่อเนื่อง

บิลด์สคริปต์ใช้เพื่อสร้างโซลูชันซึ่งจะเป็นส่วนหนึ่งของวงจรการผสานรวมอย่างต่อเนื่องทั้งหมด ลองดูสคริปต์การสร้างทั่วไปซึ่งสร้างขึ้นเป็นส่วนหนึ่งของ Visual Studio ใน.Netสำหรับโซลูชันตัวอย่างของเรา บิลด์สคริปมีขนาดค่อนข้างใหญ่แม้จะเป็นโซลูชันง่ายๆดังนั้นเราจะอธิบายถึงส่วนที่สำคัญที่สุดของมัน ตามค่าเริ่มต้น build script จะถูกเก็บไว้ในไฟล์ที่มีชื่อเดียวกับโซลูชันหลักใน Visual Studio ดังนั้นในกรณีของเราหากคุณเปิดไฟล์Simple.csprojคุณจะเห็นการตั้งค่าทั้งหมดที่จะใช้ในการสร้างโซลูชัน

  • การพึ่งพาเวอร์ชัน MSBuild ที่ใช้ - การตั้งค่าต่อไปนี้จะใช้ไฟล์ MSBuild ที่ติดตั้งบนเซิร์ฟเวอร์ 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" />
  • ไฟล์ใดที่จำเป็นในการสร้างโซลูชันอย่างถูกต้อง - ไฟล์ 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>