Vytvoření a nasazení skupiny prostředků Azure pomocí sady Visual Studio

Pomocí sady Visual Studio můžete vytvořit projekt, který nasadí vaši infrastrukturu a kód do Azure. Můžete například nasadit webového hostitele, web a kód webu. Visual Studio poskytuje řadu různých předem připravených šablon pro běžné scénáře nasazení. V tomto článku nasadíte webovou aplikaci.

Tento článek ukazuje, jak používat Sadu Visual Studio 2019 nebo novější s nainstalovanými úlohami azure pro vývoj a ASP.NET. Pokud používáte Visual Studio 2017, vaše prostředí je z velké části stejné.

Vytvoření projektu skupiny prostředků Azure

V této části vytvoříte projekt skupiny prostředků Azure pomocí šablony webové aplikace .

  1. V sadě Visual Studio zvolte Soubor>nový>projekt.

  2. Vyberte šablonu projektu Skupina prostředků Azure a další.

    Snímek obrazovky s oknem Vytvořit nový projekt se zvýrazněnou skupinou prostředků Azure a tlačítkem Další

  3. Pojmenujte projekt. Ostatní výchozí nastavení jsou pravděpodobně v pořádku, ale zkontrolujte je, aby fungovala pro vaše prostředí. Až budete hotovi, vyberte Vytvořit.

    Snímek obrazovky s oknem pro pojmenování projektu v sadě Visual Studio

  4. Zvolte šablonu, kterou chcete nasadit do Azure Resource Manageru. Všimněte si, že máte spoustu různých možností v závislosti na typu projektu, který chcete nasadit. Pro účely tohoto článku zvolte šablonu Webová aplikace a OK.

    Snímek obrazovky s oknem výběru šablony se zvýrazněnou možností Šablona webové aplikace

    Šablona, kterou vyberete, je jenom výchozí bod, podle potřeb vašeho scénáře můžete prostředky přidat nebo odebrat.

  5. Visual Studio vytvoří projekt nasazení skupiny prostředků pro webovou aplikaci. Pokud chcete zobrazit soubory pro váš projekt, podívejte se na uzel v projektu nasazení.

    Snímek obrazovky se sadou Visual Studio Průzkumník řešení zobrazující soubory projektu nasazení skupiny prostředků

    Vzhledem k tomu, že jste zvolili šablonu webové aplikace, zobrazí se následující soubory:

    Název souboru Popis
    Deploy-AzureResourceGroup.ps1 Skript PowerShellu, který spustí příkazy PowerShellu pro nasazení Azure Resource Manageru. Visual Studio použije k nasazení šablony tento skript PowerShellu.
    WebSite.json Šablona Resource Manageru, která definuje infrastrukturu, kterou chcete nasadit do Azure, a parametry, které můžete během nasazení zadat. Definuje také závislosti mezi prostředky, takže je Resource Manager nasadí ve správném pořadí.
    WebSite.parameters.json Soubor parametrů, který má hodnoty požadované šablonou. Předáním hodnot těchto parametrů přizpůsobujete jednotlivá nasazení. Všimněte si, že Akce sestavení je nastavená na Obsah. Pokud přidáte další soubory parametrů, ujistěte se, že je akce sestavení nastavená na Obsah.

    Tyto základní soubory mají všechny projekty nasazení skupiny prostředků. Jiné projekty můžou mít více souborů pro podporu jiných funkcí.

Přizpůsobení šablony Resource Manager

Projekt nasazení můžete přizpůsobit úpravou šablony Resource Manager, která popisuje prostředky, které chcete nasadit. Další informace o jednotlivých prvcích šablony Resource Manageru najdete v tématu o vytváření šablon Azure Resource Manageru.

  1. Pokud chcete se šablonou pracovat, otevřete WebSite.json.

  2. Editor sady Visual Studio poskytuje nástroje, které vám s úpravami šablony Resource Manageru pomohou. Okno JSON Outline (Osnova JSON) usnadňuje zobrazení prvků, které jsou v šabloně definované.

    Snímek obrazovky s oknem osnovy JSON v sadě Visual Studio pro šablonu Resource Manager

  3. Výběrem prvku v osnově přejdete do této části šablony.

    Snímek obrazovky editoru sady Visual Studio s vybraným elementem v okně Osnova JSON

  4. Pokud chcete přidat prostředek, můžete buď použít tlačítko Přidat prostředek v horní části okna s osnovou JSON, nebo kliknout pravým tlačítkem na resources a vybrat Přidat nový prostředek.

    Snímek obrazovky s oknem Osnova JSON se zvýrazněnou možností Přidat nový prostředek

  5. Vyberte Účet úložiště a pojmenujte ho. Zadejte název, který nebude delší než 11 znaků. Obsahovat smí jenom čísla a malá písmena.

    Snímek obrazovky s oknem Přidat nový prostředek s vybranou možností Účet úložiště

  6. Všimněte si, že se přidal nejenom tento prostředek, ale také parametr pro typ účtu úložiště a proměnná pro název účtu úložiště.

    Snímek obrazovky s oknem Osnova JSON zobrazující přidaný prostředek účtu úložiště

  7. Parametr pro typ účtu úložiště je předdefinovaný s povolenými typy a výchozím typem. Tyto hodnoty můžete ponechat beze změny nebo je můžete podle potřeby upravit. Pokud nechcete, aby pomocí této šablony někdo nasadil účet úložiště Premium_LRS, stačí ho odebrat z povolených typů.

    "demoaccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_ZRS",
        "Standard_GRS",
        "Standard_RAGRS"
      ]
    }
    
  8. Visual Studio také poskytuje intellisense, které vám pomůže pochopit vlastnosti, které jsou k dispozici při úpravách šablony. Pokud chcete třeba upravit vlastnosti pro plán služby App Service, přejděte k prostředku HostingPlan a přidejte hodnotu properties. Všimněte si, že IntelliSense zobrazuj dostupné hodnoty a poskytuje k nim také popis.

    Snímek obrazovky editoru sady Visual Studio s návrhy IntelliSense pro Resource Manager šablonu

    Můžete nastavit numberOfWorkers na 1 a soubor uložit.

    "properties": {
      "name": "[parameters('hostingPlanName')]",
      "numberOfWorkers": 1
    }
    
  9. Otevřete soubor WebSite.parameters.json . Soubor parametrů použijete k předávání hodnot během nasazování, které přizpůsobují nasazované prostředky. Pojmenujte plán hostování a soubor uložte.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        }
      }
    }
    

Nasazení projektu do Azure

Teď jste připraveni nasadit projekt do skupiny prostředků.

Skript PowerShellu (Deploy-AzureResourceGroup.ps1) v projektu ve výchozím nastavení používá modul AzureRM. Pokud máte modul AzureRM stále nainstalovaný a chcete ho dál používat, můžete použít tento výchozí skript. Pomocí tohoto skriptu můžete k nasazení řešení použít rozhraní sady Visual Studio.

Pokud jste ale migrovali na nový modul Az, musíte do projektu přidat nový skript. Pokud chcete přidat skript, který používá modul Az, zkopírujte Deploy-AzTemplate.ps1 skript a přidejte ho do projektu. Pokud chcete tento skript použít k nasazení, musíte ho spustit z konzoly PowerShellu, nikoli pomocí rozhraní pro nasazení sady Visual Studio.

Oba přístupy jsou uvedené v tomto článku. Tento článek označuje výchozí skript jako skript modulu AzureRM a nový skript jako skript modulu Az.

Skript modulu Az

Pro skript modulu Az otevřete konzolu PowerShellu a spusťte:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory . -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json

Skript modulu AzureRM

Pro skript modulu AzureRM použijte Visual Studio:

  1. V místní nabídce uzlu projektu nasazení zvolte DeployNew (Nasadit nový).>

    Snímek obrazovky s místní nabídkou projektu nasazení se zvýrazněnými možnostmi Nasadit a Nový

  2. Zobrazí se dialogové okno Deploy to Resource Group (Nasadit do skupiny prostředků). V rozevíracím seznamu Skupina prostředků vyberte existující skupinu prostředků nebo vytvořte novou. Vyberte Nasadit.

    Snímek obrazovky s dialogovým oknem Nasadit do skupiny prostředků v sadě Visual Studio

  3. V oknech Výstup se zobrazí stav nasazení. Po dokončení nasazení vám poslední zpráva oznámí úspěšné nasazení. Bude vypadat zhruba následovně:

    18:00:58 - Successfully deployed template 'website.json' to resource group 'ExampleAppDeploy'.
    

Zobrazení nasazených prostředků

Pojďme se podívat na výsledky.

  1. V prohlížeči otevřete Azure Portal a přihlaste se ke svému účtu. Chcete-li skupinu prostředků zobrazit, klikněte na odkaz Skupiny prostředků a pak na skupinu, do které jste provedli nasazení.

  2. Zobrazí se všechny nasazené prostředky. Všimněte si, že název účtu úložiště není přesně stejný jako název, který jste zadali během přidávání tohoto prostředku. Účet úložiště musí být jedinečný. Šablona automaticky přidá řetězec znaků k zadanému názvu, aby se vytvořil jedinečný název.

    Snímek obrazovky s Azure Portal zobrazující nasazené prostředky ve skupině prostředků

Přidání kódu do projektu

V tomto okamžiku jste nasadili infrastrukturu pro vaši aplikaci, ale zatím není v projektu nasazený žádný kód.

  1. Přidejte projekt do řešení sady Visual Studio. Klikněte pravým tlačítkem na řešení a vyberte Přidat>nový projekt.

    Snímek obrazovky s místní nabídkou Přidat nový projekt v sadě Visual Studio

  2. Přidejte webovou aplikaci ASP.NET Core.

    Snímek obrazovky s oknem Nový projekt s vybranou možností ASP.NET Core Web Application

  3. Pojmenujte webovou aplikaci a vyberte Vytvořit.

    Snímek obrazovky s oknem pro pojmenování projektu webové aplikace ASP.NET Core

  4. Vyberte Webová aplikace a Vytvořit.

    Snímek obrazovky okna Nová webová aplikace ASP.NET Core s vybranou možností Webová aplikace

  5. Když sada Visual Studio vytvoří webovou aplikaci, uvidíte oba projekty v řešení.

    Snímek obrazovky se sadou Visual Studio Průzkumník řešení zobrazující oba projekty v řešení

  6. Teď potřebujete zajistit, aby projekt skupiny prostředků věděl o novém projektu. Zpět do projektu skupiny prostředků (ExampleAppDeploy). Klikněte pravým tlačítkem na Odkazy a vyberte Přidat odkaz.

    Snímek obrazovky s místní nabídkou ExampleAppDeploy se zvýrazněnou možností Přidat odkaz

  7. Vyberte vámi vytvořený projekt webové aplikace.

    Snímek obrazovky s oknem Přidat odkaz v sadě Visual Studio s vybraným projektem webové aplikace

    Přidáním odkazu propojíte projekt webové aplikace s projektem skupiny prostředků a automaticky nastavíte některé vlastnosti. Tyto vlastnosti se zobrazují v okně Vlastnosti. Pole Include File Path (Cesta k souboru pro zahrnutí) obsahuje cestu, kde je balíček vytvořený. Poznamenejte si složku (ExampleApp) a soubor (package.zip). Tyto hodnoty musíte znát, protože je uvádíte jako parametry při nasazování aplikace.

    Snímek obrazovky s okno Vlastnosti zobrazující vlastnosti odkazu pro projekt webové aplikace

  8. Zpět do šablony (WebSite.json) a přidejte do šablony prostředek.

    Snímek obrazovky s oknem Osnova JSON se zvýrazněnou možností Přidat nový prostředek

  9. Tentokrát vyberte Nasazení webu pro webové aplikace.

    Snímek obrazovky okna Přidat nový prostředek s vybranou možností Nasazení webu pro Web Apps

    Uložte šablonu.

  10. Šablona má několik nových parametrů. Byly přidány v předchozím kroku. Nemusíte zadávat hodnoty pro _artifactsLocation nebo _artifactsLocationSasToken , protože tyto hodnoty se generují automaticky. Musíte ale nastavit složku a název souboru na cestu, která obsahuje balíček pro nasazení. Názvy těchto parametrů končí na PackageFolder a PackageFileName. První část názvu je název prostředku Nasazení webu, který jste přidali. V tomto článku mají názvy ExampleAppPackageFolder a ExampleAppPackageFileName.

    Otevřete Web.parameters.json a nastavte tyto parametry na hodnoty, které jste viděli ve vlastnostech odkazu. Nastavte ExampleAppPackageFolder na název složky. Nastavte ExampleAppPackageFileName na název souboru zip.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        },
        "ExampleAppPackageFolder": {
          "value": "ExampleApp"
        },
        "ExampleAppPackageFileName": {
          "value": "package.zip"
        }
      }
    }
    

Nasazení kódu s infrastrukturou

Vzhledem k tomu, že jste do projektu přidali kód, je vaše nasazení tentokrát trochu jiné. Během nasazování připravíte artefakty pro váš projekt na místo, ke kterému Resource Manager mají přístup. Artefakty se připraví na účet úložiště.

Skript modulu Az

Pokud používáte skript modulu Az, musíte v šabloně udělat jednu malou změnu. Tento skript přidá lomítko k umístění artefaktů, ale vaše šablona toto lomítko neočekává. Otevřete WebSite.json a vyhledejte vlastnosti rozšíření MSDeploy. Má vlastnost s názvem packageUri. Odeberte lomítko mezi umístěním artefaktů a složkou balíčku.

Měl by vypadat takto:

"packageUri": "[concat(parameters('_artifactsLocation'), parameters('ExampleAppPackageFolder'), '/', parameters('ExampleAppPackageFileName'), parameters('_artifactsLocationSasToken'))]",

Všimněte si, že v předchozím příkladu není žádná '/', mezi parametry('_artifactsLocation') a parameters('ExampleAppPackageFolder').

Znovu sestavte projekt. Sestavení projektu zajistí, aby se soubory, které potřebujete nasadit, přidaly do pracovní složky.

Teď otevřete konzolu PowerShellu a spusťte příkaz:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory .\bin\Debug\staging\ExampleAppDeploy -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json -UploadArtifacts -StorageAccountName <storage-account-name>

Skript modulu AzureRM

Pro skript modulu AzureRM použijte Visual Studio:

  1. Pokud chcete nasazení provést znovu, zvolte Nasadit a skupinu prostředků, kterou jste nasadili dříve.

    Snímek obrazovky s místní nabídkou projektu nasazení se zvýrazněnou možností Nasadit a dříve použitou skupinou prostředků

  2. Vyberte účet úložiště, který jste nasadili s touto skupinou prostředků pro účet úložiště Artifact.

    Snímek obrazovky s dialogovým oknem Nasadit do skupiny prostředků s vybraným účtem úložiště artefaktů

Zobrazit webovou aplikaci

  1. Po dokončení nasazení vyberte na portálu svojí webovou aplikaci. Vyberte adresu URL a přejděte na web.

    Snímek obrazovky s Azure Portal zobrazující prostředek webové aplikace se zvýrazněnou adresou URL

  2. Všimněte si, že jste úspěšně nasadili výchozí aplikaci ASP.NET.

    Snímek obrazovky s nasazenou výchozí aplikací ASP.NET ve webovém prohlížeči

Přidání řídicího panelu operací

Nejste omezení jenom na prostředky dostupné prostřednictvím rozhraní sady Visual Studio. Nasazení můžete přizpůsobit tak, že přidáte do šablony vlastní prostředek. Pokud chcete zobrazit přidávání prostředku, přidáte provozní řídicí panel pro správu prostředku, který jste nasadili.

  1. Otevřete soubor WebSite.json a přidejte následující kód JSON za prostředek účtu úložiště, ale před uzavřením ] oddílu resources.

     ,{
       "properties": {
         "lenses": {
           "0": {
             "order": 0,
             "parts": {
               "0": {
                 "position": {
                   "x": 0,
                   "y": 0,
                   "colSpan": 4,
                   "rowSpan": 6
                 },
                 "metadata": {
                   "inputs": [
                     {
                       "name": "resourceGroup",
                       "isOptional": true
                     },
                     {
                       "name": "id",
                       "value": "[resourceGroup().id]",
                       "isOptional": true
                     }
                   ],
                   "type": "Extension/HubsExtension/PartType/ResourceGroupMapPinnedPart"
                 }
               },
               "1": {
                 "position": {
                   "x": 4,
                   "y": 0,
                   "rowSpan": 3,
                   "colSpan": 4
                 },
                 "metadata": {
                   "inputs": [],
                   "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                   "settings": {
                     "content": {
                       "settings": {
                         "content": "__Customizations__\n\nUse this dashboard to create and share the operational views of services critical to the application performing. To customize simply pin components to the dashboard and then publish when you're done. Others will see your changes when you publish and share the dashboard.\n\nYou can customize this text too. It supports plain text, __Markdown__, and even limited HTML like images <img width='10' src='https://portal.azure.com/favicon.ico'/> and <a href='https://azure.microsoft.com' target='_blank'>links</a> that open in a new tab.\n",
                         "title": "Operations",
                         "subtitle": "[resourceGroup().name]"
                       }
                     }
                   }
                 }
               }
             }
           }
         },
         "metadata": {
           "model": {
             "timeRange": {
               "value": {
                 "relative": {
                   "duration": 24,
                   "timeUnit": 1
                 }
               },
               "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
             }
           }
         }
       },
       "type": "Microsoft.Portal/dashboards",
       "apiVersion": "2015-08-01-preview",
       "name": "[concat('ARM-',resourceGroup().name)]",
       "location": "[resourceGroup().location]",
       "tags": {
         "hidden-title": "[concat('OPS-',resourceGroup().name)]"
       }
     }
    
  2. Znovu nasaďte projekt.

  3. Po dokončení nasazení zobrazte řídicí panel na portálu. Vyberte Řídicí panel a vyberte ten, který jste nasadili.

    Snímek obrazovky se stránkou řídicího panelu Azure Portal se zvýrazněným příkladem vlastního řídicího panelu

  4. Zobrazí se přizpůsobený řídicí panel.

    Snímek obrazovky s přizpůsobeným provozním řídicím panelem v Azure Portal

Přístup k řídicímu panelu můžete spravovat pomocí řízení přístupu na základě role v Azure (Azure RBAC). Vzhled řídicího panelu můžete také upravit po nasazení. Pokud ovšem provádíte opakované nasazení skupiny prostředků, uvede se řídicí panel do výchozího stavu ve vaší šabloně. Další informace o vytváření řídicích panelů najdete v tématu Vytváření řídicích panelů Azure prostřednictvím kódu programu.

Vyčištění prostředků

Pokud už nasazené prostředky Azure nepotřebujete, vyčistěte je odstraněním skupiny prostředků.

  1. V Azure Portal v nabídce vlevo vyberte Skupiny prostředků.

  2. Vyberte název skupiny prostředků.

  3. V horní nabídce vyberte Odstranit skupinu prostředků .

Další kroky

V tomto článku jste zjistili, jak vytvářet a nasazovat šablony pomocí sady Visual Studio. Další informace o vývoji šablon najdete v naší nové sérii kurzů pro začátečníky: