Sdílet prostřednictvím


ASP.NET nasazení webu pomocí sady Visual Studio: Nasazení příkazového řádku

Tom Dykstra

Stáhnout úvodní projekt

V této sérii kurzů se dozvíte, jak nasadit (publikovat) webovou aplikaci ASP.NET do Aplikace Azure Service Web Apps nebo poskytovatele hostingu třetí strany pomocí sady Visual Studio 2012 nebo Visual Studio 2010. Informace o této sérii najdete v prvním kurzu série.

Přehled

V tomto kurzu se dozvíte, jak vyvolat kanál publikování webu sady Visual Studio z příkazového řádku. To je užitečné ve scénářích, ve kterých chcete automatizovat proces nasazení místo ručního nasazení v sadě Visual Studio, obvykle pomocí systému správy verzí zdrojového kódu.

Provedení změny nasazení

V současné době se na stránce O aplikaci zobrazuje kód šablony.

Stránka s kódem šablony

Nahradíte ho kódem, který zobrazuje souhrn registrace studentů.

Otevřete About.aspx stránku, odstraňte všechny značky uvnitř MainContent Content prvku a vložte na jeho místo následující značky:

<h2>Student Body Statistics</h2>
    <asp:ObjectDataSource ID="StudentStatisticsObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
        SelectMethod="GetStudentStatistics" DataObjectTypeName="ContosoUniversity.DAL.EnrollmentDateGroup">
    </asp:ObjectDataSource>
    <asp:GridView ID="StudentStatisticsGridView" runat="server" AutoGenerateColumns="False"
        DataSourceID="StudentStatisticsObjectDataSource">
        <Columns>
            <asp:BoundField DataField="EnrollmentDate" DataFormatString="{0:d}" HeaderText="Date of Enrollment"
                ReadOnly="True" SortExpression="EnrollmentDate" />
            <asp:BoundField DataField="StudentCount" HeaderText="Students" ReadOnly="True"
                SortExpression="StudentCount" />
        </Columns>
    </asp:GridView>

Spusťte projekt a vyberte stránku O aplikaci .

Stránka O aplikaci

Nasazení do testování pomocí příkazového řádku

Nebudete nasazovat jinou změnu databáze, takže zakažte nasazení databáze dbDacFx pro databázi aspnet-ContosoUniversity. Otevřete Průvodce publikováním webu a v každém ze tří profilů publikování zrušte zaškrtnutí políčka Aktualizovat databázi na kartě Nastavení.

Na úvodní stránce Windows 8 vyhledejte příkazový řádek pro vývojáře pro VS2012.

Klikněte pravým tlačítkem myši na ikonu vývojářského příkazového řádku pro VS2012 a klikněte na Spustit jako správce.

Na příkazovém řádku zadejte následující příkaz a nahraďte cestu k souboru řešení cestou k souboru řešení:

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test

Nástroj MSBuild sestaví řešení a nasadí ho do testovacího prostředí.

Výstup příkazového řádku

Otevřete prohlížeč a přejděte na http://localhost/ContosoUniversitystránku O produktu a ověřte, že nasazení proběhlo úspěšně.

Pokud jste v testu nevytvořili žádné studenty, zobrazí se prázdná stránka pod nadpisem Statistika těla studenta . Přejděte na stránku Studenti , klikněte na Přidat studenta a přidejte některé studenty a pak se vraťte na stránku O aplikaci, abyste viděli statistiky studentů.

Snímek obrazovky zobrazující statistiku těla studenta na stránce O aplikaci

Klíčové možnosti příkazového řádku

Zadaný příkaz předal cestu k souboru řešení a dvě vlastnosti nástroji MSBuild:

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true 
/p:PublishProfile=Test

Nasazení řešení a nasazení jednotlivých projektů

Určení souboru řešení způsobí, že se sestaví všechny projekty v řešení. Pokud máte v řešení více webových projektů, platí následující chování nástroje MSBuild:

  • Vlastnosti, které zadáte na příkazovém řádku, se předají do každého projektu. Každý webový projekt proto musí mít profil publikování s názvem, který zadáte. Pokud zadáte /p:PublishProfile=Test, každý webový projekt musí mít profil publikování s názvem Test.
  • Jeden projekt můžete úspěšně publikovat, i když jiný projekt ani nevytvoře. Další informace naleznete v tématu stackoverflow thread MSBuild selže se dvěma balíčky.

Pokud místo řešení zadáte jeden projekt, musíte přidat parametr, který určuje verzi sady Visual Studio. Pokud používáte Visual Studio 2012, bude příkazový řádek podobný následujícímu příkladu:

msbuild C:\ContosoUniversity\ContosoUniversity\ContosoUniversity.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:VisualStudioVersion=11.0

Číslo verze pro Visual Studio 2010 je 10.0. Další informace naleznete v tématu Kompatibilita projektů sady Visual Studio a VisualStudioVersion na blogu Sayed Hashimi.

Určení profilu publikování

Profil publikování můžete zadat podle názvu nebo úplnou cestou k souboru .pubxml , jak je znázorněno v následujícím příkladu:

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=C:\ContosoUniversity\ContosoUniversity\Properties\PublishProfiles\Test.pubxml

Metody publikování na webu podporované pro publikování na příkazovém řádku

Pro publikování na příkazovém řádku se podporují tři metody publikování:

  • MSDeploy – Publikování pomocí nasazení webu.
  • Package – Publikování vytvořením balíčku nasazení webu. Balíček musíte nainstalovat odděleně od příkazu MSBuild, který ho vytvoří.
  • FileSystem - Publikování kopírováním souborů do zadané složky.

Určení konfigurace sestavení a platformy

Konfigurace sestavení a platforma musí být nastavené v sadě Visual Studio nebo na příkazovém řádku. Profily publikování zahrnují vlastnosti, které jsou pojmenované LastUsedBuildConfiguration , LastUsedPlatformale nemůžete nastavit tyto vlastnosti, aby bylo možné určit, jak je projekt sestaven. Další informace naleznete v tématu MSBuild: jak nastavit vlastnost konfigurace na Sayed Hashimi blog.

Nasazení do přípravného prostředí

Pokud chcete nasadit do Azure, musíte do příkazového řádku přidat heslo. Pokud jste heslo uložili do profilu publikování v sadě Visual Studio, uložili jste ho v šifrované podobě do souboru .pubxml.user . Tento soubor není při nasazení příkazového řádku přístupný nástrojem MSBuild, takže je nutné předat heslo v parametru příkazového řádku.

  1. Zkopírujte heslo, které potřebujete, ze souboru .publishsettings , který jste si stáhli dříve pro přípravný web. Heslo je hodnota atributu userPWD pro element Web Deploy publishProfile .

    Heslo nasazení webu

  2. Na úvodní stránce Windows 8 vyhledejte příkazový řádek pro vývojáře pro VS2012 a kliknutím na ikonu otevřete příkazový řádek. (Tentokrát ho nemusíte otevírat jako správce, protože se nenasazujete do služby IIS na místním počítači.)

  3. Na příkazovém řádku zadejte následující příkaz a nahraďte cestu k souboru řešení cestou k souboru řešení a heslem heslem:

    msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Staging /p:Password=hdNSWsbuqno7J5uqnwKafwlfNPt1DSco7J5uqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true
    

    Všimněte si, že tento příkazový řádek obsahuje další parametr: /p:AllowUntrustedCertificate=true. Při psaní AllowUntrustedCertificate tohoto kurzu je potřeba nastavit vlastnost při publikování do Azure z příkazového řádku. Po vydání opravy této chyby nebudete tento parametr potřebovat.

  4. Otevřete prohlížeč a přejděte na adresu URL přípravného webu a kliknutím na stránku O aplikaci ověřte, že nasazení proběhlo úspěšně.

    Jak jste viděli dříve pro testovací prostředí, možná budete muset vytvořit některé studenty, abyste viděli statistiky na stránce O aplikaci.

Nasadit do produkce

Proces nasazení do produkčního prostředí se podobá procesu přípravy.

  1. Zkopírujte heslo, které potřebujete, ze souboru .publishsettings , který jste si stáhli dříve pro produkční web.

  2. Otevřete příkazový řádek pro vývojáře pro VS2012.

  3. Na příkazovém řádku zadejte následující příkaz a nahraďte cestu k souboru řešení cestou k souboru řešení a heslem heslem:

    msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Production /p:Password=hdNSWsbuqnwKafwlo7J5uqnwKafwlfNPt1DSqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true
    

    V případě skutečné produkční lokality, pokud došlo také ke změně databáze, obvykle byste před nasazením zkopírovali soubor app_offline.htm do lokality a po úspěšném nasazení ho odstranili.

  4. Otevřete prohlížeč a přejděte na adresu URL přípravného webu a kliknutím na stránku O aplikaci ověřte, že nasazení proběhlo úspěšně.

Shrnutí

Teď jste nasadili aktualizaci aplikace pomocí příkazového řádku.

Snímek obrazovky se stránkou O aplikaci zobrazující statistiku těla studenta

V dalším kurzu se dozvíte, jak rozšířit kanál publikování webu. V příkladu se dozvíte, jak nasadit soubory, které nejsou součástí projektu.