持续集成 – 构建脚本

持续集成 – 构建脚本


现在让我们看看 MSBuild 文件的某些方面,看看它们的含义。从持续集成周期中了解这些方面很重要。

构建脚本用于构建解决方案,该解决方案将成为整个持续集成周期的一部分。让我们看看作为示例解决方案.Net 中作为Visual Studio 的一部分创建的通用构建脚本构建脚本是一个相当大的脚本,即使是一个简单的解决方案,所以我们将介绍其中最重要的部分。默认情况下,构建脚本将存储在与 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>
  • 要使用的 Web 服务器设置是什么 – 当我们访问我们的持续部署主题时,您将看到 MSBuild 将如何用于覆盖这些设置并将其部署到我们选择的服务器。

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁