Sdílet prostřednictvím


Konfigurace vlastností nasazeného cílového prostředí

Jason Lee

Toto téma popisuje, jak nakonfigurovat vlastnosti specifické pro prostředí za účelem nasazení ukázkového řešení Contact Manageru do konkrétního cílového prostředí.

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

Soubor projektu, který použijete k sestavení a nasazení řešení Contact Manager, je rozdělený do dvou fyzických souborů:

  • Ten, který obsahuje univerzální nastavení sestavení a pokyny (soubor Publish.proj ).
  • Ten, který obsahuje nastavení sestavení specifické pro prostředí (Env-Dev.proj, Env-Stage.proj atd.).

V době sestavení se příslušný soubor projektu specifického pro prostředí sloučí do univerzálního souboru Publish.proj , aby se vytvořila úplná sada pokynů k sestavení. Nasazení do konkrétních cílových prostředí můžete nakonfigurovat vytvořením nebo přizpůsobením souborů projektu pro konkrétní prostředí pomocí nastavení, která popisují váš vlastní scénář nasazení.

Spousta těchto hodnot je určena způsobem konfigurace cílového prostředí – zejména jestli je cílový webový server nakonfigurovaný tak, aby používal službu Web Deployment Agent (vzdálený agent) nebo obslužnou rutinu nasazení webu. Další informace o těchto přístupech a pokyny k výběru správného přístupu pro vlastní prostředí najdete v tématu Volba správného přístupu k nasazení webu.

Scénář aplikace Contact Manager vyžaduje dva soubory projektu specifické pro prostředí:

  • Nasazení do vývojového testovacího prostředí (Env-Dev.proj). Vývojářské testovací prostředí je nakonfigurované tak, aby přijímalo vzdálená nasazení pomocí vzdáleného agenta, jak je popsáno v tématu Scénář: Konfigurace testovacího prostředí pro nasazení webu. Tento soubor musí poskytovat adresu koncového bodu vzdáleného agenta a také nastavení specifická pro umístění, jako jsou připojovací řetězce a koncové body služby.
  • Nasazení do přípravného prostředí (Env-Stage.proj). Pracovní prostředí je nakonfigurované tak, aby přijímalo vzdálená nasazení pomocí obslužné rutiny nasazení webu, jak je popsáno v tématu Scénář: Konfigurace přípravného prostředí pro nasazení webu. Tento soubor musí poskytovat adresu koncového bodu obslužné rutiny nasazení webu a také nastavení specifická pro umístění, jako jsou připojovací řetězce a koncové body služby.

Je důležité si uvědomit, že nastavení, která nakonfigurujete v souboru projektu specifickém pro prostředí, neovlivní obsah samotného webového balíčku– místo toho určují, jak se balíček nasadí a jaké hodnoty parametrů se zadají při extrahování balíčku. Webový balíček importujete do produkčního prostředí ručně, jak je popsáno v tématu Scénář: Konfigurace produkčního prostředí pro nasazení webu a Ruční instalace webových balíčků, takže nezáleží na tom, jaká nastavení jste použili v souboru projektu specifickém pro prostředí při generování balíčku. Správce Internetové informační služby (IIS) vás při importu balíčku vyzve k zadání všech parametrizovaných hodnot, jako jsou připojovací řetězce a koncové body služby.

Pokud chcete nasadit řešení Contact Manageru do vlastního cílového prostředí, můžete tento soubor buď přizpůsobit, nebo ho použít jako šablonu a vytvořit vlastní soubor.

Konfigurace nastavení nasazení specifického pro prostředí pro řešení Contact Manager

  1. Otevřete řešení ContactManager-WCF v sadě Visual Studio 2010.

  2. V okně Průzkumník řešení rozbalte složku Publikovat, rozbalte složku EnvConfig a potom poklikejte na Env-Dev.proj.

    V okně Průzkumník řešení rozbalte složku Publish, rozbalte složku EnvConfig a potom poklikejte na Env-Dev.proj.

  3. Nahraďte hodnoty vlastností v souboru Env-Dev.proj správnými hodnotami pro vaše testovací prostředí.

    Poznámka

    Tabulka, která následuje po tomto postupu, poskytuje další informace o každé z těchto vlastností.

  4. Uložte práci a pak soubor Env-Dev.proj zavřete.

Výběr správných vlastností nasazení

Tato tabulka popisuje účel každé vlastnosti v ukázkovém souboru projektu pro konkrétní prostředí Env-Dev.proj a obsahuje pokyny k hodnotám, které byste měli zadat.

Název vlastnosti Podrobnosti
MSDeployComputerName Název cílového webového serveru nebo koncového bodu služby. Pokud nasazujete do služby vzdáleného agenta na cílovém webovém serveru, můžete zadat název cílového počítače (například TESTWEB1 nebo TESTWEB1.fabrikam.net) nebo koncový bod vzdáleného agenta (například http://TESTWEB1/MSDEPLOYAGENTSERVICE). Nasazení funguje v každém případě stejným způsobem. Pokud nasazujete do obslužné rutiny nasazení webu na cílovém webovém serveru, měli byste zadat koncový bod služby a zahrnout název webu služby IIS jako parametr řetězce dotazu (například https://STAGEWEB1:8172/MSDeploy.axd?site=DemoSite).
MSDeployAuth Metoda, kterou by nástroj Nasazení webu měl použít k ověření ve vzdáleném počítači. Toto nastavení by mělo být nastaveno na NTLM nebo Basic. Protokol NTLM se obvykle používá, pokud nasazujete do služby vzdáleného agenta, a Základní , pokud nasazujete do obslužné rutiny nasazení webu. Pokud používáte základní ověřování, musíte také zadat uživatelské jméno a heslo, které má Nástroj pro nasazení webu služby IIS (Nasazení webu) zosobnit, aby bylo možné nasazení provést. V tomto příkladu jsou tyto hodnoty poskytovány prostřednictvím msDeployUsername a MSDeployPassword vlastnosti. Pokud používáte ověřování NTLM, můžete tyto vlastnosti vynechat nebo je nechat prázdné.
MSDeployUsername Pokud použijete základní ověřování, nástroj Nasazení webu použije tento účet ve vzdáleném počítači. Měla by mít formát DOMAIN*username* (například FABRIKAM\matt). Tato hodnota se použije pouze v případě, že zadáte základní ověřování. Pokud používáte ověřování NTLM, může být vlastnost vynechána. Pokud zadáte hodnotu, bude ignorována.
MSDeployPassword Pokud použijete základní ověřování, nástroj Nasazení webu použije toto heslo na vzdáleném počítači. Toto je heslo pro uživatelský účet, který jste zadali ve vlastnosti MSDeployUsername . Tato hodnota se použije pouze v případě, že zadáte základní ověřování. Pokud používáte ověřování NTLM, může být vlastnost vynechána. Pokud zadáte hodnotu, bude ignorována.
ContactManagerIisPath Cesta služby IIS, na kterou chcete nasadit aplikaci Contact Manager MVC. Měla by to být cesta zobrazená ve Správci služby IIS ve formátu [název webu IIS]/[název webovéaplikace]. Nezapomeňte, že před nasazením aplikace musí web IIS existovat. Pokud jste například vytvořili web služby IIS s názvem DemoSite, můžete cestu SLUŽBY IIS pro aplikaci MVC zadat jako DemoSite/ContactManager.
ContactManagerServiceIisPath Cesta služby IIS, na kterou chcete nasadit službu WCF Aplikace Contact Manager. Pokud jste například vytvořili web služby IIS s názvem DemoSite, můžete cestu IIS pro službu WCF zadat jako DemoSite/ContactManagerService.
ContactManagerTargetUrl Adresa URL, na které je možné získat přístup ke službě WCF. Bude mít formát [kořenová adresa URL webu služby IIS]/[název aplikace služby]/[koncový bod služby]. Pokud jste například vytvořili web služby IIS na portu 85, adresa URL bude mít formát http://localhost:85/ContactManagerService/ContactService.svc. Nezapomeňte, že aplikace MVC a služba WCF jsou nasazené na stejném serveru. V důsledku toho se k této adrese URL přistupuje jenom z počítače, na kterém je nainstalovaná. Z tohoto důvodu je lepší v adrese URL použít localhost nebo IP adresu, než název počítače nebo hlavičku hostitele. Pokud použijete název počítače nebo hlavičku hostitele, může funkce zabezpečení kontroly zpětné smyčky ve službě IIS blokovat adresu URL a vrátit chybu HTTP 401.1 – Neautorizováno .
CmDatabaseConnectionString Připojovací řetězec pro databázový server. Připojovací řetězec určuje přihlašovací údaje, které VSDBCMD použije ke kontaktování databázového serveru a vytvoření databáze, a přihlašovací údaje, které fond aplikací webového serveru použije ke kontaktování databázového serveru a interakci s databází. V podstatě máte dvě možnosti. Můžete zadat Integrated Security=true. V takovém případě se použije integrované ověřování Systému Windows: Zdroj dat=TESTDB1;Integrované zabezpečení=true V tomto případě se databáze vytvoří pomocí přihlašovacích údajů uživatele, který spouští spustitelný soubor VSDBCMD, a aplikace bude k databázi přistupovat pomocí identity účtu počítače webového serveru. Případně můžete zadat uživatelské jméno a heslo účtu SQL Server. V tomto případě jsou přihlašovací údaje SQL Server používány službou VSDBCMD k vytvoření databáze a fondem aplikací pro interakci s databází: Zdroj dat=TESTDB1; User Id=ASqlUser; Password=Pa$$w 0rd Návody v tomto tématu předpokládají, že budete používat integrované ověřování systému Windows.
Databáze CmTargetDatabase Název, který chcete dát databázi, kterou vytvoříte na databázovém serveru. Hodnota, kterou zde zadáte, se přidá do příkazu VSDBCMD jako parametr. Používá se také k vytvoření úplného připojovacího řetězce, který fond aplikací na webovém serveru může použít k interakci s databází.

Tyto příklady ukazují, jak můžete tyto vlastnosti nakonfigurovat pro konkrétní scénáře nasazení.

Příklad 1 – Nasazení do služby vzdáleného agenta

V tomto příkladu:

  • Nasazujete do služby vzdáleného agenta na webu TESTWEB1.
  • Dáváte pokyn k nasazení webu, aby používalo ověřování NTLM. Nasazení webu se spustí pomocí přihlašovacích údajů, které jste použili k vyvolání Microsoft Build Engine (MSBuild).
  • K nasazení databáze ContactManager do databáze TESTDB1 používáte integrované ověřování. Databáze se nasadí pomocí přihlašovacích údajů, které jste použili k vyvolání nástroje MSBuild.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>    
    <MSDeployComputerName Condition=" '$(MSDeployComputerName)'=='' ">
      TESTWEB1.fabrikam.net
    </MSDeployComputerName>
    <MSDeployAuth Condition=" '$(MSDeployAuth)'=='' ">NTLM</MSDeployAuth>
    <ContactManagerTargetUrl Condition =" '$(ContactManagerTargetUrl)'=='' ">
      http://localhost:85/ContactManagerService/ContactService.svc
    </ContactManagerTargetUrl>
    <ContactManagerIisPath Condition=" '$(ContactManagerIisPath)'=='' ">
      DemoSite/ContactManager
    </ContactManagerIisPath>
    <ContactManagerServiceIisPath 
      Condition=" '$(ContactManagerServiceIisPath)'=='' ">
        DemoSite/ContactManagerService
    </ContactManagerServiceIisPath>
    <CmDatabaseConnectionString Condition=" '$(CmDatabaseConnectionString)'=='' ">
      Data Source=TESTDB1;Integrated Security=true</CmDatabaseConnectionString>
    <CmTargetDatabase Condition=" '$(CmTargetDatabase)'=='' ">
      ContactManager
    </CmTargetDatabase>
  </PropertyGroup>  
</Project>

Příklad 2 – Nasazení do koncového bodu obslužné rutiny nasazení webu

V tomto příkladu:

  • Nasazujete do koncového bodu služby obslužné rutiny nasazení webu na WEBU STAGEWEB1.
  • Dáváte pokyn nasazení webu, aby používalo základní ověřování.
  • Určujete, že nasazení webu by mělo zosobnit účet FABRIKAM\stagingdeployer ve vzdáleném počítači.
  • K nasazení databáze ContactManager do databáze STAGEDB1 používáte ověřování SQL Server.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>    
    <MSDeployComputerName Condition=" '$(MSDeployComputerName)'=='' ">
      https://STAGEWEB1:8172/MSDeploy.axd?site=DemoSite
    </MSDeployComputerName>
    <MSDeployAuth Condition=" '$(MSDeployAuth)'=='' ">Basic</MSDeployAuth>
    <MSDeployUsername Condition=" '$(MSDeployUsername)'=='' ">
      FABRIKAM\stagingdeployer
    </MSDeployUsername>
    <MSDeployPassword Condition=" '$(MSDeployPassword)'=='' ">
      Pa$$w0rd
    </MSDeployPassword>
    <ContactManagerTargetUrl Condition =" '$(ContactManagerTargetUrl)'=='' ">
      http://localhost:85/ContactManagerService/ContactService.svc
    </ContactManagerTargetUrl>
    <ContactManagerIisPath Condition=" '$(ContactManagerIisPath)'=='' ">
      DemoSite/ContactManager
    </ContactManagerIisPath>
    <ContactManagerServiceIisPath 
      Condition=" '$(ContactManagerServiceIisPath)'=='' ">
        DemoSite/ContactManagerService
    </ContactManagerServiceIisPath>
    <CmDatabaseConnectionString Condition=" '$(CmDatabaseConnectionString)'=='' ">
      Data Source=STAGEDB1;User ID=sa;'$($CREDENTIAL_PLACEHOLDER$)'
    </CmDatabaseConnectionString>
    <CmTargetDatabase Condition=" '$(CmTargetDatabase)'=='' ">
      ContactManager
    </CmTargetDatabase>
  </PropertyGroup>  
</Project>

Závěr

V tomto okamžiku jsou soubory projektu plně nakonfigurované pro sestavení a nasazení řešení Contact Manager do jednoho nebo více cílových prostředí.

Pokud chcete tyto soubory projektu použít jako součást jednoho kroku opakovatelného procesu nasazení, musíte spustit soubor Publish.proj pomocí nástroje MSBuild a předat umístění souboru projektu specifického pro prostředí jako parametr. Můžete to udělat různými způsoby: