Sdílet prostřednictvím


Vytvoření a spuštění souboru příkazů k nasazení

Jason Lee

Toto téma popisuje, jak vytvořit soubor příkazu, který vám umožní spustit nasazení pomocí souborů projektu Microsoft Build Engine (MSBuild) jako opakovatelný proces v jednom kroku.

Toto téma je součástí série kurzů založených na požadavcích na podnikové nasazení fiktivní společnosti s názvem Fabrikam, Inc. Tato série kurzů používá ukázkové řešení – řešení Contact Manager – k reprezentaci webové aplikace s realistickou úrovní složitosti, včetně aplikace ASP.NET MVC 3, služby WCF (Windows Communication Foundation) a databázového projektu.

Metoda nasazení, která je jádrem těchto kurzů, je založená na přístupu založeném na rozdělených souborech projektu popsaném v tématu Vysvětlení procesu sestavení, ve kterém je proces sestavení řízen dvěma soubory projektu – jedním obsahujícím pokyny k sestavení, které platí pro každé cílové prostředí, a jedním obsahujícím nastavení sestavení a nasazení specifické pro prostředí. V době sestavení se soubor projektu specifického pro prostředí sloučí do souboru projektu nezávislého na prostředí, aby se vytvořila úplná sada pokynů k sestavení.

Přehled procesu

V tomto tématu se dozvíte, jak vytvořit a spustit soubor příkazů, který tyto soubory projektu používá k provedení opakovatelného nasazení do cílového prostředí. Soubor příkazů v podstatě jednoduše musí obsahovat příkaz MSBuild, který:

  • Řekne nástroji MSBuild, aby spustil soubor Publish.proj , který není založený na prostředí.
  • Sděluje souboru Publish.proj , který soubor obsahuje nastavení projektu specifické pro prostředí a kde ho má najít.

Vytvoření příkazu MSBuild

Jak je popsáno v tématu Vysvětlení procesu sestavení, soubor projektu specifického pro prostředí, například Env-Dev.proj, je navržený tak, aby se importoval do souboru Publish.proj nezávislého na prostředí v době sestavení. Tyto dva soubory společně poskytují kompletní sadu pokynů, které msBuildu říkají, jak sestavit a nasadit řešení.

Soubor Publish.proj používá element Import k importu souboru projektu specifického pro prostředí.

<Import Project="$(TargetEnvPropsFile)"/>

Proto při použití MSBuild.exe k sestavení a nasazení řešení Contact Manager potřebujete:

  • Spusťte MSBuild.exe v souboru Publish.proj .
  • Zadejte umístění souboru projektu specifického pro prostředí zadáním parametru příkazového řádku s názvem TargetEnvPropsFile.

Chcete-li to provést, příkaz MSBuild by měl vypadat přibližně takto:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

Přechod na opakovatelné nasazení v jednom kroku je jednoduchý krok. Stačí přidat příkaz MSBuild do souboru .cmd. V řešení Contact Manager obsahuje složka Publish soubor s názvem Publish-Dev.cmd , který dělá přesně toto.

%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe Publish.proj /fl /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj
echo 
pause

Poznámka

Přepínač /fl dává nástroji MSBuild pokyn k vytvoření souboru protokolu s názvem msbuild.log v pracovním adresáři, ve kterém byla vyvolána MSBuild.exe.

Pokud chcete nasadit nebo znovu nasadit řešení Contact Manager, stačí spustit soubor Publish-Dev.cmd . Při spuštění souboru nástroj MSBuild:

  • Sestavte všechny projekty v řešení.
  • Generování nasaditelných webových balíčků pro projekty webových aplikací
  • Generování souborů .dbschema a .deploymanifest pro databázové projekty.
  • Nasaďte webové balíčky na webový server.
  • Nasaďte databázi na databázový server.

Spuštění nasazení

Po vytvoření souboru příkazu pro cílové prostředí byste měli být schopni dokončit celé nasazení jednoduchým spuštěním souboru.

Nasazení řešení Contact Manager do testovacího prostředí

  1. Na pracovní stanici vývojáře otevřete Průzkumníka Windows a přejděte do umístění souboru Publish-Dev.cmd .

  2. Poklikáním na soubor ho spustíte.

  3. Pokud se zobrazí dialogové okno Otevřít soubor – upozornění zabezpečení , klikněte na Spustit.

  4. Pokud jsou nastavení konfigurace a testovací servery správně nastaveny, zobrazí okno příkazového řádku zprávu Sestavení bylo úspěšné , jakmile nástroj MSBuild dokončí zpracování souborů projektu.

    Pokud jsou nastavení konfigurace a testovací servery správně nastaveny, zobrazí okno příkazového řádku zprávu Sestavení bylo úspěšné, jakmile nástroj MSBuild dokončí zpracování souborů projektu.

  5. Pokud do tohoto prostředí nasazujete řešení poprvé, budete muset přidat účet počítače testovacího webového serveru do db_datawriter a db_datareader rolí v databázi ContactManager . Tento postup je popsaný v tématu Konfigurace databázového serveru pro publikování nasazení webu.

    Poznámka

    Tato oprávnění stačí přiřadit pouze při vytváření databáze. Ve výchozím nastavení proces sestavení nevytváření databáze znovu při každém nasazení – místo toho porovná stávající databázi s nejnovějším schématem a provede pouze požadované změny. V důsledku toho by vám mělo vyžadovat mapování těchto databázových rolí pouze při prvním nasazení řešení.

  6. Otevřete Internet Explorer a přejděte na adresu URL aplikace Contact Manager (například http://testweb1:85/ContactManager/).

  7. Ověřte, že aplikace funguje podle očekávání a že můžete přidávat kontakty.

    Ověřte, že aplikace funguje podle očekávání a že můžete přidávat kontakty.

Závěr

Vytvoření příkazového souboru obsahujícího pokyny nástroje MSBuild vám poskytne rychlý a snadný způsob, jak vytvořit a nasadit řešení s více projekty do konkrétního cílového prostředí. Pokud potřebujete řešení opakovaně nasazovat do více cílových prostředí, můžete vytvořit více souborů příkazů. V každém souboru příkazu nástroj MSBuild vytvoří stejný soubor univerzálního projektu, ale určí jiný soubor projektu pro konkrétní prostředí. Například soubor příkazu pro publikování do vývojářského nebo testovacího prostředí může obsahovat tento příkaz MSBuild:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

Soubor příkazu k publikování do přípravného prostředí může obsahovat tento příkaz MSBuild:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Stage.proj

Poznámka

Pokyny k přizpůsobení souborů projektu specifických pro konkrétní prostředí pro vlastní serverová prostředí najdete v tématu Konfigurace vlastností nasazení pro cílové prostředí.

Proces sestavení můžete také přizpůsobit pro každé prostředí přepsáním vlastností nebo nastavením různých dalších přepínačů v příkazu NÁSTROJE MSBuild. Další informace najdete v tématu Referenční informace k příkazovému řádku nástroje MSBuild.