Kurz: Publikování Azure Static Web Apps pomocí šablony ARM

Tento článek ukazuje, jak nasadit Azure Static Web Apps pomocí Azure Resource Manager šablony (šablony ARM).

V tomto kurzu se naučíte:

  • Vytvoření šablony ARM pro Azure Static Web Apps
  • Nasazení šablony ARM pro vytvoření instance statické webové aplikace Azure

Požadavky

Vytvoření tokenu PAT GitHubu

Jedním z parametrů v šabloně ARM je , který umožňuje procesu nasazení ARM pracovat s GitHub, které obsahuje zdrojový kód repositoryToken statické lokality.

  1. V GitHub profilu účtu (v pravém horním rohu) vyberte Nastavení.

  2. Vyberte Vývojářský Nastavení.

  3. Vyberte Osobní přístupové tokeny.

  4. Vyberte Generate New Token (Vygenerovat nový token).

  5. Do pole Poznámka zadejte název tohoto tokenu, například myfirstswadeployment.

  6. Zadejte následující obory: repo, workflow, write:packages.

  7. Vyberte Generate token (Vygenerovat token).

  8. Zkopírujte hodnotu tokenu a vložte ji do textového editoru pro pozdější použití.

Důležité

Nezapomeňte tento token zkopírovat a uložit na bezpečném místě. Zvažte uložení tohoto tokenu v Azure Key Vault a přistupovat k tomuto tokenu v šabloně ARM.

Vytvoření GitHub zařízení

Tento článek používá GitHub šablony, abyste snadno začali. Šablona obsahuje úvodní aplikaci, která se používá k nasazení pomocí Azure Static Web Apps.

  1. Přejděte do následujícího umístění a vytvořte nové úložiště:

    1. https://github.com/staticwebdev/vanilla-basic/generate
  2. Zadejte název úložiště myfirstswadeployment.

    Poznámka

    Azure Static Web Apps vytvoření webové aplikace vyžaduje alespoň jeden soubor HTML. Úložiště, které vytvoříte v tomto kroku, obsahuje jeden souborindex.html.

  3. Vyberte možnost Create repository from template (Vytvořit úložiště ze šablony).

    Vytvoření úložiště ze šablony

Vytvoření šablony ARM

Po splnění požadavků je dalším krokem definování souboru šablony nasazení ARM.

  1. Vytvořte novou složku pro šablony ARM.

  2. Vytvořte nový soubor a pojmnte hoazuredeploy.jsna .

  3. Následující fragment šablony ARM vložte do azuredeploy.jsna .

        {
            "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "parameters": {
                "name": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "sku": {
                    "type": "string"
                },
                "skucode": {
                    "type": "string"
                },
                "repositoryUrl": {
                    "type": "string"
                },
                "branch": {
                    "type": "string"
                },
                "repositoryToken": {
                    "type": "securestring"
                },
                "appLocation": {
                    "type": "string"
                },
                "apiLocation": {
                    "type": "string"
                },
                "appArtifactLocation": {
                    "type": "string"
                },
                "resourceTags": {
                    "type": "object"
                },
                "appSettings": {
                    "type": "object"
                }
            },
            "resources": [
                {
                    "apiVersion": "2021-01-15",
                    "name": "[parameters('name')]",
                    "type": "Microsoft.Web/staticSites",
                    "location": "[parameters('location')]",
                    "tags": "[parameters('resourceTags')]",
                    "properties": {
                        "repositoryUrl": "[parameters('repositoryUrl')]",
                        "branch": "[parameters('branch')]",
                        "repositoryToken": "[parameters('repositoryToken')]",
                        "buildProperties": {
                            "appLocation": "[parameters('appLocation')]",
                            "apiLocation": "[parameters('apiLocation')]",
                            "appArtifactLocation": "[parameters('appArtifactLocation')]"
                        }
                    },
                    "sku": {
                        "Tier": "[parameters('sku')]",
                        "Name": "[parameters('skuCode')]"
                    },
                    "resources":[
                        {
                            "apiVersion": "2021-01-15",
                            "name": "appsettings",
                            "type": "config",
                            "location": "[parameters('location')]",
                            "properties": "[parameters('appSettings')]",
                            "dependsOn": [
                                "[resourceId('Microsoft.Web/staticSites', parameters('name'))]"
                            ]
                        }
                    ]
                }
            ]
        }
    
    
  4. Vytvořte nový soubor a pojmnte hoazuredeploy.parameters.jsna .

  5. Následující fragment šablony ARM vložte do azuredeploy.parameters.jsna .

        {
            "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
            "contentVersion": "1.0.0.0",
            "parameters": {
                "name": {
                    "value": "myfirstswadeployment"
                },
                "location": { 
                    "value": "Central US"
                },   
                "sku": {
                    "value": "Free"
                },
                "skucode": {
                    "value": "Free"
                },
                "repositoryUrl": {
                    "value": "https://github.com/<YOUR-GITHUB-USER-NAME>/<YOUR-GITHUB-REPOSITORY-NAME>"
                },
                "branch": {
                    "value": "main"
                },
                "repositoryToken": {
                    "value": "<YOUR-GITHUB-PAT>" 
                },
                "appLocation": {
                    "value": "/"
                },
                "apiLocation": {
                    "value": ""
                },
                "appArtifactLocation": {
                    "value": "src"
                },
                "resourceTags": {
                    "value": {
                        "Environment": "Development",
                        "Project": "Testing SWA with ARM",
                        "ApplicationName": "myfirstswadeployment"
                    }
                },
                "appSettings": {
                    "value": {
                        "MY_APP_SETTING1": "value 1",
                        "MY_APP_SETTING2": "value 2"
                    }
                }
            }
        }
    
  6. Aktualizujte následující parametry.

    Parametr Očekávaná hodnota
    repositoryUrl Zadejte adresu URL vašeho Static Web Apps GitHub úložiště.
    repositoryToken Zadejte token GITHUB PAT.
  7. Uložte aktualizace před spuštěním nasazení v dalším kroku.

Spuštění nasazení

K nasazení šablony Azure PowerShell Azure CLI nebo Azure CLI.

Přihlášení k Azure

Pokud chcete nasadit šablonu, přihlaste se k Azure CLI nebo Azure PowerShell.

az login

Pokud máte více předplatných Azure, vyberte předplatné, které chcete použít. Nahraďte <SUBSCRIPTION-ID-OR-SUBSCRIPTION-NAME> informacemi o vašem předplatném:

az account set --subscription <SUBSCRIPTION-ID-OR-SUBSCRIPTION-NAME>

Vytvoření skupiny prostředků

Při nasazování šablony zadáte skupinu prostředků, která obsahuje související prostředky. Před spuštěním příkazu k nasazení vytvořte skupinu prostředků. Použijte k tomu Azure CLI nebo Azure PowerShell.

Poznámka

Příklady rozhraní příkazového řádku v tomto článku jsou napsané pro prostředí Bash.

resourceGroupName="myfirstswadeployRG"

az group create \
  --name $resourceGroupName \
  --location "Central US"

Nasazení šablony

K nasazení šablony použijte jednu z těchto možností nasazení.


az deployment group create \
  --name DeployLocalTemplate \
  --resource-group $resourceGroupName \
  --template-file <PATH-TO-AZUREDEPLOY.JSON> \
  --parameters <PATH-TO-AZUREDEPLOY.PARAMETERS.JSON> \
  --verbose

Další informace o nasazování šablon pomocí Azure CLI najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.

Zobrazit web

Existují dva aspekty nasazení statické aplikace. Při prvním se zřídí základní prostředky Azure, které tvoří vaši aplikaci. Druhým je právě pracovní postup GitHub Actions, který vytvoří a publikuje vaši aplikaci.

Předtím, než budete moci přejít na novou statickou lokalitu, musí být sestavení nasazení nejprve dokončeno.

V okně Přehled statického Web Apps se zobrazuje řada odkazů, které vám pomůžou s webovou aplikací pracovat.

Okno s přehledem

  1. Kliknutím na banner, který říkáte, klikněte sem, abyste zkontrolovali stav svých akcí GitHubu , které se budou spouštět na základě vašeho úložiště. Jakmile ověříte, že je úloha nasazení dokončená, můžete přejít na web prostřednictvím vygenerované adresy URL.

  2. Po dokončení pracovního postupu akcí GitHubu můžete kliknutím na odkaz na adresu URL otevřít web na nové kartě.

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

Odstraněním skupiny prostředků vyčistěte prostředky, které jste nasadili.

  1. V Azure Portal nabídce vyberte Skupina prostředků.
  2. Do pole Filtrovat podle názvu zadejte název skupiny prostředků.
  3. Vyberte název skupiny prostředků.
  4. V horní nabídce vyberte Odstranit skupinu prostředků.

Další kroky