Sürekli Entegrasyon - Betik Oluşturma
Şimdi ne anlama geldiğini görmek için MSBuild dosyasının belirli yönlerine bakalım. Bu hususlar, Sürekli Entegrasyon Döngüsünden bilinmesi önemlidir.
Derleme komut dosyaları, tüm sürekli Entegrasyon döngüsünün bir parçası olacak çözümü oluşturmak için kullanılır. Visual Studio'nun bir parçası olarak oluşturulan genel yapı betiğine bakalım..Netörnek çözümümüz için. Derleme betiği, basit bir çözüm için bile oldukça büyüktür, bu yüzden onun en önemli kısımlarından geçeceğiz. Varsayılan olarak, derleme komut dosyası, Visual Studio'daki ana çözümle aynı ada sahip bir dosyada depolanır. Yani bizim durumumuzda, dosyayı açarsanızSimple.csprojçözümü oluşturmak için kullanılacak tüm ayarları göreceksiniz.
Kullanılan MSBuild sürümüne bağımlılık - Aşağıdaki ayarlar, CI sunucusunda yüklü MSBuild dosyalarını kullanacaktır.
<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" />
Çözümü doğru bir şekilde oluşturmak için hangi dosyalar gereklidir? ItemGroupetiketi, projenin başarıyla oluşturulması için gerekli olan tüm gerekli .Net dosyalarını içerecektir. Bu dosyaların buna göre derleme sunucusunda bulunması gerekecektir.
<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>
Kullanılacak Web sunucusu ayarları nelerdir - Sürekli Dağıtım konusunu ziyaret ettiğimizde, MSBuild'in bu ayarları geçersiz kılmak ve bunu tercih ettiğimiz sunucuya dağıtmak için nasıl kullanılacağını göreceksiniz.
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>59495</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl></IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>