Sdílet prostřednictvím


Sestavení a balení projektů webových aplikací

Jason Lee

Pokud chcete nasadit projekt webové aplikace do prostředí vzdáleného serveru, vaším prvním úkolem je sestavit projekt a vygenerovat balíček pro nasazení webu. Toto téma popisuje, jak proces sestavení funguje u projektů webových aplikací. Vysvětluje zejména:

  • Jak kanál publikování na webu (WPP) rozšiřuje proces sestavení, aby zahrnoval funkce nasazení.
  • Způsob, jakým Nástroj pro nasazení webu Internetové informační služby (IIS) změní webovou aplikaci na balíček nasazení.
  • Jak proces sestavení a balení funguje a jaké soubory se vytvářejí.

V sadě Visual Studio 2010 podporuje WPP proces sestavení a nasazení pro projekty webových aplikací. WPP poskytuje sadu cílů Microsoft Build Engine (MSBuild), které rozšiřují funkce nástroje MSBuild a umožňují jeho integraci s nasazením webu. V sadě Visual Studio se tato rozšířená funkce zobrazí na stránkách vlastností projektu webové aplikace. Webová stránka Package/Publish (Balíček/publikovat) společně se stránkou Package/Publish SQL (Balíček/Publikování SQL) umožňuje nakonfigurovat způsob balení projektu webové aplikace pro nasazení po dokončení procesu sestavení.

Webová stránka Balíček/publikování společně se stránkou Package/Publish S Q L umožňují nakonfigurovat způsob balení projektu webové aplikace pro nasazení po dokončení procesu sestavení.

Jak WPP funguje?

Když se podíváte na soubor projektu webové aplikace založeného na jazyce C#, uvidíte, že importuje dva soubory .targets.

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\
                 v10.0\WebApplications\Microsoft.WebApplication.targets" />

První příkaz Import je společný pro všechny projekty Visual C#. Tento soubor , Microsoft.CSharp.targets, obsahuje cíle a úlohy, které jsou specifické pro Visual C#. Tady je například vyvolána úloha kompilátoru jazyka C# (Csc). Soubor Microsoft.CSharp.targets pak importuje soubor Microsoft.Common.targets . Definuje cíle, které jsou společné pro všechny projekty, jako je sestavení, opětovné sestavení, spuštění, kompilace a vyčištění. Druhý příkaz Import je specifický pro projekty webových aplikací. Soubor Microsoft.WebApplication.targets pak importuje soubor Microsoft.Web.Publishing.targets . Soubor Microsoft.Web.Publishing.targetsje v podstatě WPP. Definuje cíle, jako je Package a MSDeployPublish, které vyvolávají nasazení webu k dokončení různých úloh nasazení.

Abyste pochopili, jak se tyto další cíle používají, otevřete v ukázkovém řešení Contact Manager soubor Publish.proj a podívejte se na cíl BuildProjects .

<Target Name="BuildProjects" Condition=" '$(BuildingInTeamBuild)'!='true' ">
  <MSBuild Projects="@(ProjectsToBuild)"
           Properties="OutDir=$(OutputRoot);
                       Configuration=$(Configuration);
                       DeployOnBuild=true;
                       DeployTarget=Package"
           Targets="Build" />
</Target>

Tento cíl používá úlohu MSBuild k sestavení různých projektů. Všimněte si vlastností DeployOnBuild a DeployTarget :

  • Vlastnost DeployOnBuild=true v podstatě znamená "Po úspěšném dokončení sestavení chci spustit další cíl".
  • DeployTarget Vlastnost identifikuje název cíle, který chcete spustit, pokud DeployOnBuild vlastnost je rovna true. V tomto případě určujete, že chcete, aby nástroj MSBuild po sestavení projektu spustil cíl balíčku .

Cíl balíčku je definován v souboru Microsoft.Web.Publishing.targets . Tento cíl v podstatě převezme výstup sestavení projektu webové aplikace a převede ho na balíček nasazení webu, který lze publikovat na webový server služby IIS.

Poznámka

Pokud chcete v sadě Visual Studio 2010 zobrazit soubor projektu (například ContactManager.Mvc.csproj), musíte nejprve uvolnit projekt z vašeho řešení. V okně Průzkumník řešení klikněte pravým tlačítkem na uzel projektu a potom klikněte na Uvolnit projekt. Znovu klikněte pravým tlačítkem na uzel projektu a potom klikněte na Upravit[soubor projektu]). Soubor projektu se otevře v nezpracované podobě XML. Až budete hotovi, nezapomeňte projekt znovu načíst.
Další informace o cílech nástroje MSBuild, úkolech a příkazech importu najdete v tématu Vysvětlení souboru projektu. Podrobnější úvod do souborů projektu a WPP najdete v tématu Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build by Sayed Ibrahim Hashimi and William Bartholomew, ISBN: 978-0-7356-4524-0.

Co je balíček pro nasazení webu?

Při sestavování a nasazování projektu webové aplikace, buď pomocí sady Visual Studio 2010, nebo přímo pomocí nástroje MSBuild, konečným výsledkem je obvykle balíček pro nasazení webu. Balíček pro nasazení webu je .zip soubor. Obsahuje vše, co služba IIS a Nasazení webu potřebují k opětovnému vytvoření webové aplikace, včetně:

  • Zkompilovaný výstup webové aplikace, včetně obsahu, souborů prostředků, konfiguračních souborů, JavaScriptu a prostředků šablon stylů CSS atd.
  • Sestavení pro projekt webové aplikace a pro všechny odkazované projekty v rámci vašeho řešení.
  • Skripty SQL pro vygenerování databází, které nasazujete s vaší webovou aplikací.

Po vygenerování balíčku pro nasazení webu ho můžete různými způsoby publikovat na webový server služby IIS. Můžete ho například nasadit vzdáleně cílením na službu Nasazení vzdáleného agenta webu nebo obslužnou rutinu nasazení webu na cílovém webovém serveru nebo můžete použít Správce služby IIS k ručnímu importu balíčku na cílový webový server. Další informace o těchto přístupech k nasazení najdete v tématu Volba správného přístupu k nasazení webu.

Jak proces sestavení funguje?

To ukazuje, co se stane, když sestavíte a zabalíte projekt webové aplikace:

Co se stane, když sestavíte a zabalíte projekt webové aplikace.

Při vytváření projektu webové aplikace vygeneruje proces sestavení soubor s názvem [název projektu].SourceManifest.xml. Spolu se souborem projektu a výstupem sestavení tento soubor .SourceManifest.xml informuje nasazení webu o tom, co má zahrnout do balíčku pro nasazení webu. Nasazení webu pomocí těchto vstupů vygeneruje balíček pro nasazení webu s názvem [název projektu].zip.

Kromě balíčku pro nasazení webu proces sestavení vygeneruje dva soubory, které vám můžou pomoct balíček použít:

  • Soubor .deploy.cmd obsahuje sadu parametrizovaných příkazů nasazení webu (MSDeploy.exe), které publikují balíček pro nasazení webu na vzdálený webový server služby IIS. Spuštění souboru .deploy.cmd s příslušnými parametry obvykle poskytuje rychlejší a jednodušší alternativu k ručnímu sestavení MSDeploy.exe příkazů sami.
  • SouborSetParameters.xml poskytuje sadu hodnot parametrů pro příkaz MSDeploy.exe. Tyto hodnoty zahrnují vlastnosti, jako je název webové aplikace SLUŽBY IIS, do které chcete balíček nasadit, hodnoty všech koncových bodů služby a připojovací řetězce definované v souboruweb.config a všechny hodnoty vlastností nasazení definované na stránkách vlastností projektu.

SouborSetParameters.xml je klíčem ke správě procesu nasazení. Tento soubor se generuje dynamicky podle obsahu projektu webové aplikace. Pokud například do souboruweb.config přidáte připojovací řetězec, proces sestavení automaticky rozpozná připojovací řetězec, odpovídajícím způsobem nasazení parametrizuje a v souboruSetParameters.xml vytvoří položku, která vám umožní upravit připojovací řetězec v rámci procesu nasazení. Další téma Konfigurace parametrů pro nasazení webového balíčku podrobněji vysvětluje roli tohoto souboru a popisuje různé způsoby, jak ho můžete upravit během sestavování a nasazení.

Poznámka

V sadě Visual Studio 2010 WPP nepodporuje předkompilování stránek ve webové aplikaci před zabalením. Další verze sady Visual Studio a WPP budou obsahovat možnost předkompilovat webovou aplikaci jako možnost balení.

Závěr

Toto téma poskytuje přehled procesu sestavení a balení pro projekty webových aplikací v sadě Visual Studio 2010. Popisuje, jak WPP umožňuje volat příkazy Nasazení webu ze nástroje MSBuild, a vysvětluje, jak proces sestavení a balení funguje.

Po vytvoření balíčku pro nasazení webu je vaším dalším krokem jeho nasazení. Další informace najdete v tématech Konfigurace parametrů pro nasazení webových balíčků a Nasazení webových balíčků.

Další čtení

Další témata v tomto kurzu Konfigurace parametrů pro nasazení webového balíčku a Nasazení webových balíčků obsahují pokyny k používání webového balíčku, který jste vytvořili. Poslední kurz této série Advanced Enterprise Web Deployment (Pokročilé nasazení podnikového webu) poskytuje pokyny k přizpůsobení procesu balení a řešení souvisejících potíží.

Podrobnější úvod do souborů projektu a WPP najdete v tématu Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build by Sayed Ibrahim Hashimi and William Bartholomew, ISBN: 978-0-7356-4524-0.