Sdílet prostřednictvím


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

Poznámka:

Projekt skupiny prostředků Azure je teď v rozšířené podpoře, což znamená, že budeme i nadále podporovat stávající funkce a možnosti, ale nebudeme určovat prioritu přidávání nových funkcí.

Poznámka:

Pro co nejlepší a nejbezpečnější prostředí důrazně doporučujeme aktualizovat instalaci sady Visual Studio na nejnovější verzi dlouhodobé podpory (LTS). Upgrade zlepší spolehlivost i celkový výkon prostředí sady Visual Studio. Pokud se rozhodnete neupgradovat, můžete narazit na problémy popsané v části Problémy při vytváření a nasazování skupin prostředků Azure prostřednictvím 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 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. Vyhledejte skupinu prostředků a pak vyberte šablonu projektu Azure Resource Group (rozšířená podpora) a další.

    Snímek obrazovky s oknem Vytvořit nový projekt se zvýrazněným tlačítkem Skupina prostředků Azure a Tlačítko Další

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

    Snímek obrazovky s oknem 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. V tomto článku zvolte šablonu webové aplikace a OK.

    Snímek obrazovky s oknem pro výběr šablony se zvýrazněnou šablonou 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 projektu, 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, uvidíte 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 k nasazení šablony používá 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 dalších funkcí.

Přizpůsobení šablony Resource Manageru

Projekt nasazení můžete přizpůsobit úpravou šablony Resource Manageru, 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 pracovat se šablonou, 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 Osnova JSON v sadě Visual Studio pro šablonu Resource Manageru

  3. Výběrem prvku v osnově přejdete na tuto část šablony.

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

  4. Prostředek můžete přidat tak, že kliknete pravým tlačítkem na prostředky a vyberete Přidat nový prostředek.

    Snímek obrazovky okna 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 a 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ředem definovaný 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",
        "Premium_LRS"
      ]
    }
    

Nasazení projektu do Azure

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

Skript PowerShellu (Deploy-AzureResourceGroup.ps1) v projektu používá modul AzureRM. Pokud máte stále nainstalovaný modul AzureRM 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 do nového modulu Az, musíte do projektu přidat nový skript. Pokud chcete přidat skript, který používá modul Az, zkopírujte skript Deploy-AzTemplate.ps1 a přidejte ho do projektu. Pokud chcete tento skript použít pro 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 se týká výchozího skriptu jako skriptu modulu AzureRM a nového skriptu jako skriptu 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 Nasadit>Nový.

    Snímek obrazovky místní nabídky projektu nasazení se zvýrazněnou možností 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 web 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 a vytvoří jedinečný název.

    Snímek obrazovky webu 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 ASP.NET základní webovou aplikaci.

    Snímek obrazovky s oknem Nový projekt a vybranou ASP.NET Základní webová aplikace

  3. Pojmenujte webovou aplikaci a vyberte Vytvořit.

    Snímek obrazovky s oknem pro pojmenování projektu pro webovou aplikaci ASP.NET Core

  4. Vyberte webovou aplikaci a vytvořte.

    Snímek obrazovky s oknem Nová webová aplikace ASP.NET Core s vybranou webovou aplikací

  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. Vraťte se do projektu skupiny prostředků (ExampleAppDeploy). Klikněte pravým tlačítkem na Odkazy a vyberte Přidat odkaz.

    Snímek obrazovky místní nabídky 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 okno Vlastnosti zobrazující vlastnosti odkazu pro projekt webové aplikace

  8. Vraťte se k šabloně (WebSite.json) a přidejte do šablony prostředek.

    Snímek obrazovky okna 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 s oknem Přidat nový prostředek s vybranou možností Nasazení webu pro Web Apps

    Uložte šablonu.

  10. V předchozím kroku byly přidány některé nové parametry.

    Snímek obrazovky s novými parametry

    Nemusíte zadávat hodnoty pro _artifactsLocation ani _artifactsLocationSasToken , protože tyto hodnoty se generují automaticky. Musíte ale nastavit název složky a souboru na cestu, která obsahuje balíček pro nasazení. Názvy těchto parametrů končí packageFolder a PackageFileName. První část názvu je název prostředku nasazení webu, který jste přidali. V tomto článku se jmenuje ExampleAppPackageFolder a ExampleAppPackageFileName.

    Otevřete Website.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/2019-04-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "ExampleAppPackageFolder": {
          "value": "ExampleApp"
        },
        "ExampleAppPackageFileName": {
          "value": "package.zip"
        }
      }
    }
    

Nasazení kódu pomocí infrastruktury

Protože jste do projektu přidali kód, nasazení se tentokrát trochu liší. Během nasazování připravíte artefakty projektu na místo, ke kterému má Resource Manager přístup. Artefakty jsou připravené pro účet úložiště.

Skript modulu Az

Pokud používáte skript modulu Az, musíte v šabloně provést jednu malou změnu. Tento skript přidá lomítko do umístění artefaktů, ale vaše šablona neočekává toto lomítko. 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 mezi parametry ('_artifactsLocation') a parameters('ExampleAppPackageFolder') neexistuje '/', .

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

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

.\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 provést opětovné nasazení, zvolte Nasadit a skupinu prostředků, kterou jste nasadili dříve.

    Snímek obrazovky místní nabídky 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

Zobrazení webové aplikace

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

    Snímek obrazovky webu 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í ASP.NET aplikací 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 prostředků.

     ,{
       "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 webu Azure Portal se zvýrazněným ukázkovým vlastním řídicím panelem

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

    Snímek obrazovky s přizpůsobeným provozním řídicím panelem na webu 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. Na webu Azure Portal vyberte v nabídce vlevo skupiny prostředků.

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

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

Další kroky

V tomto článku jste se naučili 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: